Maybe it also applies to functional, because Having a integer monad, which content is just an integer, to make arithmetic operations sound much like the Factory Pattern in your example. One just have to know which pattern to use and when, for this moderation is not the correct word,
but is easier to understand the functional patterns likewise identify the appropriate occasions to use such patterns in the functional side, which may be interpreted to make the OOP an anti-pattern in comparison.