let unopt = function
  | Some p -> p
  | None   -> failwith "Cannot `unopt' None"