Functor Unification.MakeUnifier

module MakeUnifier: 
functor (T : sig
type t 
type elt 
val empty : t
val is_empty : t -> bool
val equal : t -> t -> bool
val add : elt -> t -> t
val choose : t -> elt
val remove : elt -> t -> t
val find_map : (elt -> 'a option) -> t -> 'a option
end) -> sig .. end
This functor makes a mk_unifier function for a particular implementation of a container.
Parameters:
T : sig type t type elt val empty : t val is_empty : t -> bool val equal : t -> t -> bool val add : elt -> t -> t val choose : t -> elt val remove : elt -> t -> t val find_map : (elt -> 'a option) -> t -> 'a option end

val mk_unifier : bool ->
bool ->
(T.elt -> T.elt -> ('a -> 'b option) -> 'a -> 'b option) ->
T.t -> T.t -> ('a -> 'b option) -> 'a -> 'b option