val equal : t -> t -> boolval compare : t -> t -> inttype 'a data_declaration = {data_name : string;data_pp : Format.formatter -> 'a -> unit;data_compare : 'a -> 'a -> int;data_hash : 'a -> int;data_hconsed : bool;
}type 'a cdata = private {cin : 'a -> t;isc : t -> bool;cout : t -> 'a;name : string;
}val morph1 : 'a cdata -> ('a -> 'a) -> t -> tval ty2 : 'a cdata -> t -> t -> boolval morph2 : 'a cdata -> ('a -> 'a -> 'a) -> t -> t -> t