That is just my impression. In OOP, plain argument passing is (just) fine but in the long term things like Factory, Strategy, Builder, etc… become neccessary to have an easy-to-maintain app. Whereas in Haskell is kind of the opposite, plain argument passing scales very well, and jumping into other patterns like monads/mtl, effect systems, typeclasses, etc… makes the program more difficult.
Was that the question? Maybe I didn’t understand it well
Anyway Nothing of this is part of the original question