introductory stuff about monads