sig
  type t
  val equal : UnionFind.Item.t -> UnionFind.Item.t -> bool
  module Map :
    sig
      type key = UnionFind.Item.t
      type 'a t
      val empty : 'UnionFind.Item.Map.t
      val find : UnionFind.Item.Map.key -> 'UnionFind.Item.Map.t -> 'a
      val add :
        UnionFind.Item.Map.key ->
        '-> 'UnionFind.Item.Map.t -> 'UnionFind.Item.Map.t
      val fold :
        (UnionFind.Item.Map.key -> '-> '-> 'b) ->
        'UnionFind.Item.Map.t -> '-> 'b
    end
end