úÎ3      (c) dramforever 2015BSD3 dramforeverunstablenon-portable (GHC extensions)Safe3579?N s is a measurement of a1A representation of a sequence of values of type aD using a splay tree, which can also contain measurements of type s. Invariant: s is a valid cached measurementUSmart constructor for making a branching node that generates a cached measurement.(Construct a sequence of only one elementKSplit the sequence into two part: the longest prefix whose measure does not4 satisfy the predicate, and the rest of the sequence+The predicate must be monotonic. Note that  < .Traverse the sequence o traverseSplay :: (Measured sa a, Measured sb b) => Traversal a b (Splay sa a) (Splay sb b) ! concatenates two sequences, and  is the empty sequence.1This instance uses the cached measure if possible  (c) dramforever 2015BSD3 dramforeverunstablenon-portable (GHC extensions)None7C General purpose finite sequences(Construct a sequence of only one element,Add an element to the left end of a sequence -Add an element to the right end of a sequence  Construct a sequence from a listWarningÇ: The underlying splay tree created this function will be very unbalanced. However note that the amortized running time of other functions will be unaffected. This is to be fixed in the future. Is this sequence empty? &The number of elements in the sequence   n s splits s into the first n elements and the rest. If n is less than the length of s,  (s, mempty) will be returned  !"#$%&'()    !"#$%&'()*        !""#$%&'()*+,-splay_JyWwlNYiv2L180s5pgHbA3 Data.SplayData.Splay.SequenceMeasuredmeasureSplay singletonsplit traverseSplaySeq<||>fromListnulllengthsplitAtBranchbranchghc-prim GHC.TypesFalseTrue $fMonoidSplaybaseGHC.Basemappendmempty$fMeasuredsSplayLeafsplayRightmost findAndSplaygetSeqItemgetItemSizegetSize $fShowSeq$fOrdSeq$fEqSeq $fMonoidSeq$fTraversableSeq $fFoldableSeq $fFunctorSeq$fMeasuredSizeItem $fMonoidSize