úÎ-(½B      !"#$%&'()*+,-./0123456789:;<=>?@ANone Append two trees. O(n)1. Create a Tree from a finite list of elements. O(n)1. Create a Tree from a finite list of elements. MAfter the tree is created, it is balanced. This is useful with sorted data, < which would otherwise create a completely unbalanced tree. Is the tree empty? JSplit a tree at the point where the predicate on the measure changes from  False to True. Gfind the first point where the predicate returns True. Returns a tree $ splayed with that node at the top. 3Return the root element, if the tree is not empty. This, combined with  memberSplay$, can be used to create many lookup  functions -Like fmap, but with a more restrictive type. 1Like traverse, but with a more restrictive type. (descend to the deepest left-hand branch )descend to the deepest right-hand branch @rebalance a splay tree. The order of elements does not change. % BCDEFGHIJ    ! BCDEFGHIJNonea RangeSet element !%A range of a single point (range =0) " Create a Range from a minimum value and range # Create a Range from the two endpoints. $%check if a value is within the range  !"#$%&'()*+,KL !"#$%&'()*+, !"#$%('&*+,) !"#$%&'()*+,KLNone38Look up a value at the given index. Returns that value 2 if it exists, and the appropriately splayed Seq. -./01234MNO-./01234-./01234 -./01234MNONone 6Construct an empty set 7P if this set is empty, Q otherwise. 8+Return the number of elements in this set. 9Return P, if the given value is present in this set, Q otherwise. : Check if a* is a member, and return a set splayed to a. . The return set is splayed to an element near a if a isn' t in the  set. ; Construct a Set from a list of elements. The Set is created by calling . <%Add the specified value to this set. =5Remove the specified value from this set if present. >8Construct a set containing all elements from both sets. <The smaller set should be presented as the second argument. ?:Transform this set by applying a function to every value. @EDifference of two sets. Contains elements of the first set that are  not present in the second. ACIntersection of two sets. Contains all elements which are in both  sets. 56789:;<=>?@ARST 56789:;<=>?@A 56789:<=>@A?;56789:;<=>?@ARSTU      !""#$%&'()  *+,- ./01 23456789:;<=>?@ABCDECDFGBHIsplaytree-0.1.3Data.SplayTreeData.SplayTree.RangeSetData.SplayTree.SeqData.SplayTree.SetfromListBalance SplayTreeBranchTipMeasuredMeasuremeasureempty singleton<||>><fromListnullsplitquerysize memberSplayrootElemdeleteinsert difference intersectionfmap' traverse'deepLdeepRbalanceRangeSetRangerMinrangpointrangerangePsinRangerangeMaxappendSeqconstoListlengthlookupAtinitSetmemberunionmap$fMeasuredElemD $fMonoidDepth$fFoldableSplayTree$fMeasuredSplayTree$fMonoidSplayTree$fShowSplayTree$fOrdSplayTree $fEqSplayTree$fNFDataSplayTree$fMeasuredRange$fMonoidRangeM$fTraversableSeq $fFunctorSeq$fMeasuredElemghc-prim GHC.TypesTrueFalse $fMonoidSet $fMonoidElem