Imperative.MakeValuedNumberedNodeSourceSame as MakeValuedNode, but also remembers all built node in a hash-table so we can check if elements already have an associated node
module Elt : HetHashtbl.HETEROGENEOUS_HASHED_TYPEmodule Relation : Parameters.GENERIC_GROUPmodule Value :
Parameters.SIMPLE_GENERIC_VALUE
with type ('a, 'b) relation = ('a, 'b) Relation.tinclude sig ... endtype !'a root = 'a MakeValuedNode(Elt)(Relation)(Value).root = {mutable value : 'a Value.t;mutable size : int;}type !'a parent = 'a MakeValuedNode(Elt)(Relation)(Value).parent = | Node : 'b t * ('a0, 'b) Relation.t -> 'a0 parent| Root of 'a rootChecks if a node has already been constructed for the given element