let map x f =     match x with     | `Ok x -> return (f x)     | `Error e -> fail e