bool.ml1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21let compare x y = match x, y with | true, true | false, false -> Ordering.Eq | true, false -> Gt | false, true -> Lt ;; include Comparator.Operators (struct type nonrec t = bool let compare = compare end) let to_string = string_of_bool let of_string s = bool_of_string_opt s let to_dyn t = Dyn.Bool t let[@inline always] hash = function | true -> 1 | false -> 0 ;;