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