Really enjoyed playing this - I'll be interested to take a look at the source code and reading more about "functional core, imperative shell" architecture.
That's great to hear! Just drop me a line if like to ask more details about how I used "functional core, imperative shell" :)