(disclaimer: an opinion that nobody should really care) Awesome article! I'm recently diving into the world of functional programming and this will give me an starting point. I would say it's missing a little bit the hexagonal (ports and adapters) architecture (which gives you all the testability in the domain layer even with OOP, it's not an exclusive advantage of functional then :P), but still this gives great points and i will come back often to check this article it for sure. Thanks for writing this.