let value_map o ~default ~f =
    match o with
    | Some s -> f s
    | None -> default