[Haskell] CFP: Mathematically Structured Functional Programming