Utils

`sig
module type Comparable =
sig
type t
val equal : Utils.Comparable.t -> Utils.Comparable.t -> bool
val compare : Utils.Comparable.t -> Utils.Comparable.t -> int
val hash : Utils.Comparable.t -> int
end
module Int :
sig
type t = int
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
end
module Float :
sig
type t = float
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val set_precision : float -> unit
val round : t -> int
end
end`