Detailed algebraic data types Functor and Monad.
Removed specific IDE bindings.