This matches my experience.<p>At the company I work at, we use Haskell for HTTP services.  The software stack we&#x27;ve grown is extremely opinionated about how to do things.  We provide just one way to do things like report errors, run queries, do work asynchronously, and so forth.<p>We get people up and running with about the same amount of effort as we spend getting people going on our PHP, and I think a big part of the reason why is because we&#x27;re able to constrain the education effort to the slice of Haskell that we want them to read and write.<p>For instance, we accept the fact that we have new teammates who haven&#x27;t yet truly understood what &quot;do&quot; blocks are all about.  These people are nevertheless able to write perfectly serviceable, production-ready code.  They&#x27;ve learned that they can chain imperative actions together in a particular way, and that&#x27;s enough for awhile.  Deep understanding comes later.