úÎ/Ë*{/      !"#$%&'()*+,-.None!"'(+-./02346=JKM&Compute the size of an index Convert a / to a type-level  Peano numbers*Types that support static range operations NSelect whether to generate an unrolled loop or just the loop at compile-time. each n = an index of all n$The number of dimensions in an indexThe size of the index"Increment by one. Wraps around to 0 when 1 is given."Decrement by one. Wraps around to 1 when 0 is given. Create an 2 index.Create an index from its 2 representation.%Ensure an index is within its bounds.31Ensure the "head" dimension is within its bounds.4See 15 Similar to 6x. This will take the modulus of your input. The first argument to the inputted function is the max bound at that index.7Same as 5#, but it doesn't check whether the 2gs you generate are valid. The first argument to the inputted function is the max bound at that index.8[Map over indices. The first argument to the inputted functions is the bound at that index.9ƒMap over indices. The first argument to the inputted functions is the bound at that index. The output is not checked to be valid.+Retain the rank, but change the upper bound>The zero index, used to end indices, just as '[]' ends a list. Index constructor, analogous to :The : and ;u instances multiply in their bind operations, and their 'return'/'pure' creates an index whose first dimension is 1.You might prefer to use 'You might prefer to use (The range of an index Lazy right fold over a range.!Lazy right fold over a range."Compute something from a range#Strict left fold over the raw 2 indices under a range$Lazy right fold over the raw 2 indices under a range%Compute something using the raw indices under a range& Expands to a <V with the phantom type being the dimension specified. Works in types and expressions. Examples: 5 id [dim|3 4 5|] ==> id (Proxy :: Proxy (3:.4:.5:.Z)) 6 Proxy :: [dim|3 4 5|] ==> Proxy :: Proxy (3:.4:.5:.Z)'Same as &, but create an   instead of a <.(Same as &, but create a   instead of a <.-3Create a bound for use with e.g. "Data.Array.array".  fromInteger . natVal=\The indices in an Ix instance are always bound by (0, t), where t is the type of the index.>Rank\?@ABCD E345789F !"#$%GHIJ&'()*+,KLMN-.OPQ=RSTUVWXYZ[\]^_`ab>c4de<fg  !"#$%&'()*+,-./  ! "#$%-)*+,.&'(@?@ABCD   E345789F !"#$%GHIJ&'()*+,KLMN-.OPQ=RSTUVWXYZ[\]^_`ab>c  h      !"#$%&'()*+,-./01/23/2456789:/;<=>?/@A/BC/DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl/Dm/DE/Dn/Dno indices-1.6.2 Data.IndexRangeAndInRangeSizeToPeanoPeanoSuccZeroRangedModeRollUnrollDimeachranksizenextprevtoIndex fromIndexcorrectRanksetBoundZ:.zerounrollroll modeProxyrange foldrRange foldlRange withRangefoldlRangeIndicesfoldrRangeIndiceswithRangeIndicesdimdimudimrdimHeaddimTailpdimHeadpdimTailboundscnatbase GHC.TypeLitsNatGHC.EnumminBoundmaxBoundghc-prim GHC.TypesInt correctOncelastDimzipDimsGHC.ListzipWith unsafeZipDimsmapDim unsafeMapDimControl.Applicative ApplicativeGHC.BaseMonad Data.ProxyProxy$fIx:. $fRank:.:. swithRange_ sfoldrRange_ sfoldlRange_swithRangeIndices_sfoldrRangeIndices_sfoldlRangeIndices_ fromIndex'proxyOfzipModunsafeZipDims'mapModdimQQ nextTagged nextTaggedItagPeano tagPeanoI $fRangeSucc $fRangeZero $fRangedn$fIxZ $fMonad:.$fApplicative:. $fMonoid:. $fMonoidZ $fBounded:. $fBoundedZ $fIntegral:. $fIntegralZ$fEnum:.$fEnumZ$fReal:.$fRealZ$fNum:.$fNumZ$fDim:.$fDimZ$fRankZZ asProxyTypeOfKProxy