https://gregorias.github.io/posts/pixelosolver-about-the-composability-of-haskell-monads/
PixeloSolver — Computer Vision Through Parsing - Grzegorz Milka