Second code variant using monad State, monad transformer and special data types (incomplete)
Primary LanguageHaskell