Would it make sense to make the code Literate Haskell?
(Definitely peak HN if it runs in the browser).
Edit: https://webghc.github.io
The idea is that you write a "Book" and the program is extracted, from the book.
Literate Programming Wikipedia: https://en.wikipedia.org/wiki/Literate_programming
A nice talk about it: https://youtu.be/Av0PQDVTP4A
It's an old pet peeve of mine. I cringe inside every time someone starts waxing about "writing your thoughts first, and your code only incidentally" or "it's a completely different paradigm of programming" and other such pieces of useless, discouraging new age fluff.