let apply_opt = fun fct value ->
  match value with
    | None   -> None
    | Some v -> Some (fct v)