úÎ!#[      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZNoneFSTÀ comfort-array; denotes a range defined by the start index and the length. comfort-arrayB denotes an inclusive range like those of the Haskell 98 standard Array type from the array package. E.g. the shape type (Range Int32, Range Int64) is equivalent to the ix type (Int32, Int64) for Arrays.  comfort-array : denotes a range starting at one and has a certain length.  comfort-array ; denotes a range starting at zero and has a certain length. comfort-arrayIt should hold 'indexFromOffset sh k == indices sh !! k , but  should generally be faster. comfort-array(Row-major composition of two dimensions.    55[7\7NoneFTRBBNoneFT°CDEFGHIJKLMNOPQRSTUVWXCDEFGHLIJKMNOPQRSTUVWXL9 NoneFTÉCLMNOPZCZLMNOP]        !"#$%&'()*+,-./0123456789:;<=>?@ABCCDEFGHIJKLMNOPQRSTUVWXDYZ[*comfort-array-0.1.1-Gp0oeeZr53ZD5lS3AkCrz3Data.Array.Comfort.ShapeData.Array.Comfort.Shape.Test$Data.Array.Comfort.Storable.InternalData.Array.Comfort.Storable:+:Shifted shiftedOffset shiftedSizeRange rangeFromrangeToOneBased oneBasedSize ZeroBased zeroBasedSize InvIndexedindexFromOffsetuncheckedIndexFromOffsetIndexedIndexindicesoffsetuncheckedOffsetinBounds sizeOffsetuncheckedSizeOffsetCsize uncheckedSize$fC(,,)$fC(,)$fC() $fIndexed(,,) $fIndexed(,) $fIndexed()$fInvIndexed(,,)$fInvIndexed(,)$fInvIndexed()$fInvIndexedZeroBased $fCZeroBased$fInvIndexedOneBased $fCOneBased$fStorableRange$fInvIndexedRange$fIndexedRange$fCRange$fStorableShifted$fInvIndexedShifted$fIndexedShifted $fCShifted$fIndexedOneBased$fIndexedZeroBased$fInvIndexed:+: $fIndexed:+:$fC:+: $fEqZeroBased$fShowZeroBased $fEqOneBased$fShowOneBased $fEqRange $fShowRange $fEqShifted $fShowShifted$fEq:+: $fShow:+:testsArrayshapebufferreshapemapShape unsafeCreateunsafeCreateWithSizeunsafeCreateWithSizeAndResult!toListfromListvectorFromListmapcreateIOcreateWithSizeIOcreateWithSizeAndResultIOshowIOreadIOtoListIO fromListIOvectorFromListIO $fShowArray combineOffsetcombineSizeOffset