What is monad in functional programming? Can you show me example of implementation of monad in Haskell?