let map m f =     m >>= fun x ->     return (f x)