Make Invalid Domain States Hard to Represent with Kotlin and Arrow
Domain-Driven Design gives us a useful question to ask when modelling a domain:
What does it mean for this object to be valid?
It is tempting to answer that question with nullable properties and a v
blog.hbrown.dev7 min read