úÎ-%(¥      (c) Atze van der Ploeg 2014 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred  !"24HJKM'A type class for type aligned sequencesMinimal complete defention:  and  and (  or  ) and (  or   or  ),Instances should satisfy the following laws:Category laws: ?tempty >< x == x x >< tempty == x (x >< y) >< z = x >< (y >< z)Observation laws: >tviewl (tsingleton e >< s) == e :< s tviewl tempty == TAEmptyLThe behaviour of  , ,  and  < is implied by the above laws and their default definitions. !Append two type aligned sequences *View a type aligned sequence from the left +View a type aligned sequence from the rightDefault definition: ’tviewr q = case tviewl q of TAEmptyL -> TAEmptyR h :< t -> case tviewr t of TAEmptyR -> tempty :> h p :> l -> (h <| p) :> l $Append a single element to the rightDefault definition: l |> r = l >< tsingleton r #Append a single element to the leftDefault definition: l <| r = tsingleton l >< r;Apply a function to all elements in a type aligned sequenceDefault definition: Ntmap f q = case tviewl q of TAEmptyL -> tempty h :< t -> f h <| tmap f t       (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 !"HJKM   (c) Atze van der Ploeg 2013 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred !"HJKMXThe 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 !"HJKM$ $(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 !"HJKM (c) Atze van der Ploeg 2014 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred !"HJKM$*+,-./0123456789:;<=>?@ABCDEFGHIJKL *,+-/.04321576:98;<=>?@ABCDEFGHIJKL+. (c) Atze van der Ploeg 2014 BSD-styleatzeus@gmail.org provisionalportable Safe-Inferred  !"(HJKM MNOPQRSTUVW ONMPRQSTUVWX     !"# $%&'()*+,-./0123456789:;<=>&?@AB(CDEFGHIJKLMNOPQRST U V W X Y Z [ \ ] ^ _`type-aligned-0.9.6Data.TASequenceData.TASequence.BinaryTreeData.TASequence.ConsListData.TASequence.ToCatQueueData.TASequence.SnocListData.TASequence.FastQueueData.TASequence.FastCatQueueData.TASequence.FingerTreeData.TASequence.QueueTAViewR:>TAEmptyRTAViewL:<TAEmptyL TASequencetempty tsingleton><tviewltviewr|><|tmap BinaryTreeConsListConsCNil ToCatQueueSnocListSnocSNil FastQueue FastTCQueue FingerTreeQueue $fCategory*sNodeLeafEmpty$fTASequenceBinaryTree$fTASequenceConsListCNC0$fTASequenceToCatQueue$fTASequenceSnocListRQ revAppendrotatequeue$fTASequenceFastQueueZListR:::<ZNilRZList:::ZNilDigitFourThreeTwoOneNode3Node2DeepSingletoTreeappenddtoListfromListappenddeepltoListR fromListRrevdeepr nodeToDigitaddAllladdAllrapp3nodesmapnmapd$fTASequenceFingerTreeQNQ1Q0BB2B1P:*tmapptmapb$fTASequenceQueue