In an attempt to improve my understanding of Haskell, I have started a personal project that is rather less concrete than the usual “maps, folds, and IO” style I have relied