9T2 K      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJNone 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 K"Descend a tree using the provided  descender descending function, G then recreate the tree. The new focus will be the last node accessed  in the tree. @rebalance a splay tree. The order of elements does not change. :LMNOPQRSTUVW KXYZ[\]^_`abcdefgh   0LMNOPQRTSUVW KXYZ[\]^_`abcdefghNonei8Look up a value at the given index. Returns that value 2 if it exists, and the appropriately splayed Map. jklmnopq !"#i$rs  !"#$ !"# $jklmnopq !"#i$rsNone&a 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 t6create a range which encompasses both provided ranges u)subtract the second range from the first %vwx&'()*+,-.ytu/012345z{%&'()*+,-./012345&'()%*+,-.10/3452%vxw&'()*+,-.ytu/012345z{None<8Look up a value at the given index. Returns that value 2 if it exists, and the appropriately splayed Seq. 6|}~789:;<=6789:;<=6789:;<= 6|}~789:;<=None ?Construct an empty set &Construct a set with a single element @ if this set is empty,  otherwise. A+Return the number of elements in this set. BReturn , if the given value is present in this set,  otherwise. C 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. D Construct a Set from a list of elements. The Set is created by calling . E%Add the specified value to this set. F5Remove the specified value from this set if present. G8Construct a set containing all elements from both sets. <The smaller set should be presented as the second argument. H:Transform this set by applying a function to every value. IEDifference of two sets. Contains elements of the first set that are  not present in the second. JCIntersection of two sets. Contains all elements which are in both  sets. >?@ABCDEFGHIJ >?@ABCDEFGHIJ >?@ABCEFGIJHD>?@ABCDEFGHIJ      !"#$%&'()**+,-./01234'56(789:;<<=>>?@ABCDEFGHIJKLMNOPQRSTUV6WWXYZZ[\]^_`aabcde3fWWghi]jkljkm7nWWop]qrsplaytree-0.1.4Data.SplayTree.MapData.SplayTreeData.SplayTree.RangeSetData.SplayTree.SeqData.SplayTree.SetfromListBalancebaseGHC.Listlookup SplayTreeBranchTipMeasuredMeasuremeasureempty singleton<||>><fromListnullsplitquerysize memberSplayrootElemdeleteinsert difference intersectionfmap' traverse'deepLdeepRbalanceMap insertWithtoListinitRangeSetRangerMinrangpointrangerangePsinRangerangeMaxappendSeqconslengthlookupAtSetmemberunionmapdeepDepthgetDepthElemDgetElemDThreadDescRDescLleafbranchmyFoldldescendLdescendRuprotateLrotateR ascendSplay ascendSplay'balance'$fMeasuredElemD $fMonoidDepth$fFoldableSplayTree$fMeasuredSplayTree$fMonoidSplayTree$fShowSplayTree$fOrdSplayTree $fEqSplayTree$fNFDataSplayTreeElemeKeyeValMaxunMaxunElem$fMeasuredElem $fMonoidMax combineMaxsubRangeRangeMNoRange compareRange$fMeasuredRange$fMonoidRangeMunSeqgetElem$fTraversableSeq $fFunctorSeqghc-prim GHC.TypesTrueFalseunSetNone $fMonoidSet $fMonoidElem