úÎ!""z&      !"#$%Safe8&'()*+,-Safe-.HUVd  type-setsO(log n). Follow the result of a * to get a particular element in the tree. type-setsO(log n) . Compute a []S which finds the desired element in the tree. The result of this can be passed to 3 in order to look up the same element again later.. type-setsO(log n)U. Get the right-most element in a tree. This function is stuck if the tree is empty. type-setsO(log n). Remove an element from the  . 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-setsO(log n). Insert an element into the  . type-sets!Either left or right down a path.  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))  None&',.=>?@AHIUVXkæ  type-setsA proof that the set bst contains type t. type-sets Inject a t into a . type-setsAttempt to project a  into t;. This might fail, because there is no guarantee that the  actually contains t. You can use  : instead of this function if you'd like a proof that the  doesn't contain t in the case of failure. type-setsA  is like an />, except that it can store any of the types contained in the  . You can use  to construct one, and  to pattern match it out. type-setsGet a singleton for a list of s. type-setsSingletons for s. type-setsA proof that inserting into a bst> doesn't affect the position of anything already in the tree. type-sets Weaken a ' so that it can contain something else.  type-setsLike , but decomposes the 7 into its left and right branches, depending on where t is.  0      !"#$%&'()*+,-./012345(type-sets-0.1.0.0-GdlV5S7bdrXApvEXOboTiEType.SetType.Set.VariantPaths_type_setsFollowLocateRemoveMergeMemberInsertSideLRTypeSetEmptyBranch$fEqSide $fOrdSide $fShowSideSplitRootLSplitRSplitHas toVariant fromVariantVariant FromSides fromSidesSSideSNilSLSRproveFollowInsertweaken decompRoot$fTestEquality[]SSide $fFromSides: $fFromSides:0 $fFromSides[] $fHastbstversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName RightMostbase Data.EitherEither