úÎã’     (c) Atze van der Ploeg 2014 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred!"24HM#A type class for (finite) sequencesMinimal complete defention:  and  and (  or  ) and (  or   or  ),Instances should satisfy the following laws:7Monoid laws: > empty >< x == x > x >< empty == x > (x > y) z= x (y< z)NObservation laws: > viewl (singleton e >< s) == e :< s > viewl empty == EmptyLThe behaviour of  , , and  < is implied by the above laws and their default definitions. Append two sequences View a sequence from the left View a sequence from the rightRDefault definition: > viewr q = case viewl q of > EmptyL -> EmptyR > h : t-K case viewr t of > EmptyR -> empty :> h > p :> l -> (h  |p) : l $Append a single element to the right0Default definition: > l |> r = l >< singleton r #Append a single element to the leftDefault definition: > l  |r = singleton l< r       (c) Atze van der Ploeg 2014 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred!"(HJKM   (c) Atze van der Ploeg 2014 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred !"JK!"#$%&' !"#$%&'(c) Atze van der Ploeg 2013 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred!"XThe catenable queue type. The first type argument is the type of the queue we use (|>)()*+, )(*+,(c) Atze van der Ploeg 2014 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred -      !"#$%&'()*+,-./0123sequence-0.9.3Data.SequenceClassData.Sequence.QueueData.Sequence.FastQueueData.Sequence.ToCatQueueData.Sequence.FastCatQueueViewR:>EmptyRViewL:<EmptyLSequenceempty singleton><viewlviewr|><|Queue FastQueue ToCatQueue FastTCQueue $fSequence[] $fSequenceSeqQNQ1Q0BB2B1P:*$fSequenceQueue$fFoldableQueue$fFunctorQueue $fFunctorB $fFunctorPRQ revAppendrotatequeue$fSequenceFastQueue$fFoldableFastQueue$fFunctorFastQueueCNC0$fSequenceToCatQueue$fFoldableToCatQueue$fFunctorToCatQueue