type 'a merge = symbol -> 'a -> 'a -> 'amodule QMap : sig ... endval equal : uf:UF.t -> t -> t -> boolval compare : uf:UF.t -> t -> t -> intval make_builtin : ?variant:int -> F.t -> tval make_variant_builtin : F.t -> t * intval get_str : t -> stringval is_builtin : t -> F.t -> boolval undup : uf:UF.t -> t list -> t list