Subset of Haskell for teaching purpose.