(** Error handling for geographic coordinates *) type t = | Invalid_latitude of float | Invalid_longitude of float | Parse_error of string | Invalid_format of string | Invalid_hemisphere of string exception Coordinate_error of t val to_string : t -> string (** Error handling combinators *) val catch : ('a -> 'b) -> 'a -> ('b, t) result val catch_exn : ('a -> 'b) -> 'a -> 'b option val unwrap : ('a, t) result -> 'a val unwrap_or : 'a -> ('a, t) result -> 'a