let map o ~f =     match o with     | None -> None     | Some s -> Some (f s)