úÎ!3,§i      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghSafeŸijklmnopNone -.=?@AHUV&  type-setsThe associated type family  produces the resulting map. type-sets O(m log n) for  Merge m n4; put your smaller set on the left side. Merge two   s together. type-setsO(log n). Determine membership in the  'TypeSet.' type-setsThe associated type family  produces the resulting map. type-setsEBuild a type-level map out of a list of type level key / value pairs. type-setsDInsert a list of type level key / value pairs into a type-level map. type-setsA map without entries.  type-setsA Red-Black tree.q type-setsThe color of a node.  None-.HUV‘ C type-setsO(log n). Follow the result of a D* to get a particular element in the tree.D type-setsO(log n) . Compute a [I]S which finds the desired element in the tree. The result of this can be passed to C3 in order to look up the same element again later.r type-setsO(log n)U. Get the right-most element in a tree. This function is stuck if the tree is empty.E type-setsO(log n). Remove an element from the L.F type-sets O(m log n) for  Merge m n4; put your smaller set on the left side. Merge two L s together.G type-setsO(log n). Determine membership in the  'TypeSet.'H type-setsO(log n). Insert an element into the L.I type-sets!Either left or right down a path.L type-setsA binary search tree. When  -XDataKinds@ is turned on, this becomes the backbone of the type-level set.Dtype MySet = Insert Bool (Insert String (Insert (Maybe Int) 'Empty)) CDEFGHIKJLMN LMNGHEFDCIKJNone&',.=>?@AHIUVXk, V type-setsA proof that the set bst contains type t.W type-sets Inject a t into a Y.X type-setsAttempt to project a Y into t;. This might fail, because there is no guarantee that the Y actually contains t. You can use c: instead of this function if you'd like a proof that the Y doesn't contain t in the case of failure.Y type-setsA Y is like an s>, except that it can store any of the types contained in the L. You can use W to construct one, and X to pattern match it out.[ type-setsGet a singleton for a list of Is.] type-setsSingletons for Is.a type-setsA proof that inserting into a bst> doesn't affect the position of anything already in the tree.b type-sets Weaken a Y' so that it can contain something else.c type-setsLike X, but decomposes the Y7 into its left and right branches, depending on where t is.RSTUVWXYZ[\]_`^abcYZVWXcRSTUba]_`^[\t      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI JKL MNOPQRSTUVWXXYZ[\]^_`abcdefghijklmnopqrst'type-sets-0.1.1.0-GL058TrzWLcRjJkN3C9Sr Type.RBSetType.SetType.Set.VariantPaths_type_sets RemovableRemoveMergeMember InsertableInsertFromList InsertAllEmptyTypeSetEN$fCanMakeBlackkiE$fCanMakeBlackkiN$fInsertableHelper1kikE$fInsertablekikt'$fInsertableHelper2kiEQkcolorleftkright$fInsertableHelper1akN$$fInsertableHelper2kiGTkRleftk'right$$fInsertableHelper2kiGTkBleftk'right$$fInsertableHelper2kiLTkRleftk'right$$fInsertableHelper2kiLTkBleftk'right$$fBalanceableHelperkiDoNotBalanceakb"$fBalanceableHelperkiBalanceRRak1N"$fBalanceableHelperkiBalanceRLak1N"$fBalanceableHelperkiBalanceLRNk3d"$fBalanceableHelperkiBalanceLLNk3d'$fBalanceableHelperkiBalanceSpecialNkxN$fBalanceablekileftkright$fBalanceableHelperLkiTruet1yN$fBalanceableHelperLaTruet1yN$$fBalanceableHelperLkiFalseNk2right2$fBalanceableLkilkr$fBalanceableHelperRkiTrueNyt1$fBalanceableHelperRkiTrueNyt10$$fBalanceableHelperRkiFalseright2k2N$fBalanceableRkilkr $fFuseableaNN$fFuseableaNN0$fFuseablekiNE$fFuseablekiEN$fFuseablekiEE$fFuseableHelper1kiENN$fFuseableHelper1aNNN$fFuseableHelper1aNNN0$fFuseableaNN1$fFuseableHelper2aENN$fFuseableHelper2aNNN$fFuseableHelper2aNNN0$fFuseableaNN2 $fDelablekikE$fDelableLkikEkxright$fDelableLakNkxright$fDelableLakNkxright0$fDelableRkikleftkxE$fDelableRakleftkxN$fDelableRakleftkxN0$fDelableHelperkiLTkleftkxright$fDelableHelperkiEQkleftkright$fDelableHelperkiGTkleftkxright $fDelableakN$fRemovablekikt $fShowColor $fEqColor $fShowTypeSet $fEqTypeSet$fShowBalanceActionFollowLocateSideLRBranch$fEqSide $fOrdSide $fShowSideSplitRootLSplitRSplitHas toVariant fromVariantVariant FromSides fromSidesSSideSNilSLSRproveFollowInsertweaken decompRoot$fTestEquality[]SSide $fFromSides: $fFromSides:0 $fFromSides[] $fHastbstversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameColor RightMostbase Data.EitherEither