>Architecture is extremely sensitive to the initial choices due to isolation of side effects.
Only if you choose to isolate all side effects from each other. Actually Haskell makes refactoring really easy, so you can adapt your implemention to changing requirements easily.