type t = float

let of_string f = try Some (float_of_string f) with _ -> None

let to_string = string_of_float

let compare x y = Ordering.of_int (compare x y)

let max x y =
  match compare x y with
  | Eq
  | Gt ->
    x
  | Lt -> y
