úÎv¾R      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQNoneThe RingBuffer interface. Instances must define , , and '(!)'. Instances may define   for better performance.  Create a new ) with the given value at every position.  Essentially a generalized R STSTNone UVWX    UVWXNone ,Create a new SeqBuffer, initialized to all 0's, of the given size Y2Create a new SeqBuffer from a given initial value Z#Get the total size of a SeqBuffer. [ Look up a value in a SeqBuffer. \=Push a new value into a SeqBuffer. The following will hold: ( NewSeqBuffer ! 0 === added element + NewSeqBuffer ! 1 === OldSeqBuffer ! 0 ] YZ[\^_    ] YZ[\^_None an empty chord.  ` a   ` aNone bcdefgbcdefgNonehijklmhijklmNonePBGenerate a 32-element polymorphic vector, maybe I should just use  Data.Vector? @ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOnPQo> !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ>NOLMJKHIFGDEBC@A>?<=:;8967452301./,-*+()&'$%"# !PQ! !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOnPQoNoneL  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ  p       !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<=>?@ABCDEFGHIJKLEMBNOPQRSTUVWXYcombobuffer-0.1Data.RingBuffer.ClassData.RingBuffer.MapBufferData.RingBuffer.SeqBufferData.RingBuffer.ChordData.RingBuffer.ComboBufferData.RingBuffer.TGenData.RingBuffer.SVecData.RingBuffer RingBufferlengthpush!slice InitializablenewInitEl MapBufferMB SeqBuffernewChord emptyChordcToVec ComboBufferCBOddCB mkVecFromTomkVecT30T29T28T27T26T25T24T23T22T21T20T19T18T17T16T15T14T13T12T11T10T9T8T7T6T5T4T3T2T1TVec32baseGHC.List replicate$fRingBufferVector$fInitializableVectorpushEsliceB$fRingBufferMapBuffer$fInitializableMapBuffernewInit'length'!!push'RB$fRingBufferSeqBuffer$fInitializableSeqBuffer$fRingBufferChordatpushB$fRingBufferComboBuffer$fInitializableComboBufferdecTNmkElInst mkInitInstmkRbInstmkLookupmkPush$fInitializableT1$fInitializableTVec32