Base.Mval return : 'a -> 'a treturn a makes a monadic container containing the value a.
m >>= f extracts the value a from the monadic container m and returns f a.
f >=> g composition of the two monadic functions f and g.
f >=> g is equivalent to fun a -> f a >>= g.
map f m maps the values in the monadic container m with the function f.