úÎ@”     (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: Monoid laws: =empty >< x == x x >< empty == x (x >< y) >< z = x >< (y >< z)Observation laws: 8viewl (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 rightDefault definition: Šviewr q = case viewl q of EmptyL -> EmptyR h :< t -> case viewr t of EmptyR -> empty :> h p :> l -> (h <| p) :> l $Append a single element to the rightDefault 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 (|>)./0123 /.0123(c) Atze van der Ploeg 2014 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred 4      !"#$%&'()*+,-./0123456789:sequence-0.9.6Data.SequenceClassData.Sequence.QueueData.Sequence.FastQueueData.Sequence.ToCatQueueData.Sequence.FastCatQueueViewR:>EmptyRViewL:<EmptyLSequenceempty singleton><viewlviewr|><|Queue FastQueue ToCatQueue FastTCQueue $fSequence[] $fSequenceSeqQNQ1Q0BB2B1P:*$fSequenceQueue$fTraversableQueue$fFoldableQueue$fFunctorQueue$fTraversableB $fFoldableB $fFunctorB$fTraversableP $fFoldableP $fFunctorPRQ revAppendrotatequeue$fTraversableFastQueue$fSequenceFastQueue$fFoldableFastQueue$fFunctorFastQueueCNC0$fTraversableToCatQueue$fSequenceToCatQueue$fFoldableToCatQueue$fFunctorToCatQueue