Floodplain started out being defined
using a pretty horrible XML language. It performed and (as far as I know) is
performing just fine, but making changes is tricky. As a sabbatical hobby
project, I started hunting for a language that could model it well.
I ended up with Kotlin. Kotlin's extension functions allow me to model a tight API while still being extendable. Also, a static typing system allows for better tooling.