A Haskell port of my commonplace project