type 'a t
val create : (old_value:'a -> new_value:'a -> bool) -> 'a tval of_compare : ('a -> 'a -> int) -> 'a tval always : _ tval never : _ tval phys_equal : _ tval poly_equal : _ tval equal : 'a t -> 'a t -> boolval should_cutoff : 'a t -> old_value:'a -> new_value:'a -> bool