Îõ³h$ $ V(      !"#$%&'NoneÎ9union-find-array A node in a disjoint set forest.union-find-array!An immutable disjoint set forest.None?ÔÙ¹ union-find-arrayÊA disjoint set forest, with nodes numbered from 0, which can carry labels. union-find-array Analogous to (.union-find-array Analogous to union-find-array4Create a new disjoint set forest, of given capacity.union-find-array—Grow the capacity of a disjoint set forest. Shrinking is not possible. Trying to shrink a disjoint set forest will return the same forest unmodified.union-find-arrayCopy a disjoint set forest.union-find-array!Annotate a node with a new label.union-find-array9Look up the representative of a given node and its label.union-find-array€Merge two nodes if they are in distinct equivalence classes. The passed function is used to combine labels, if a merge happens.union-find-array2Flatten a disjoint set forest, for faster lookups.   None union-find-array&Get the number of nodes in the forest.union-find-array4Look up the representative of a node, and its label.union-find-array Version of 0 that assumes the forest to be flattened. (cf.  .)1Do not use otherwise: It will give wrong results!None>ÀÁÂÄ4union-find-array#Add a new node, with a given label.union-find-array7Find the node representing a given node, and its label.union-find-arrayáMerge two sets. The first argument is a function that takes the labels of the corresponding sets' representatives and computes a new label for the joined set. Returns Nothing if the given nodes are in the same set already.union-find-arrayRe-label a node.union-find-array3Flatten the disjoint set forest for faster lookups.None>ÀÁÂÎÔÙ 4 union-find-arrayUnion find monad.!union-find-arrayRun a union find computation."union-find-arrayÖRun a union find computation; also return the final disjoint set forest for querying. !" !")           !"#$%&'()/union-find-array-0.1.0.3-JdFNrTOWRLvGkyUuxdgGVdData.Union.Type Data.Union.ST Data.UnionControl.Monad.Union.ClassControl.Monad.UnionData.Array.Base unsafeFreezeControl.Union.STflattenNodefromNodeUnionsizeuplabel$fEqNode $fOrdNode$fIxNodeUnionST runUnionSTnewgrowcopyannotatelookupmergelookupFlattened MonadUnion$fMonadUnionltUnionMrunrun'$fMonadUnionlUnionM$fMonadFixUnionM$fApplicativeUnionM$fFunctorUnionM $fMonadUnionM array-0.5.4.0 Data.Array.ST runSTArray