Monad in Haskell
Filter in Haskell
Permutation