Notes on Reliability & Maintainability of Haskell Code

Those notes are my answer to a question asked on the Elm Slack

what are some methods you use to maintain a clean codebase?

how does haskell help you to maintain a clean, decoupled codebase?

what system design benefits do you receive from a statically typed, pure language such as haskell, that you wouldn’t receive in a dynamically typed, but immutable language?