úÎB›9äy      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx experimentalconal@conal.net Safe-InferredProduct of type-level numbers Sum of type-level numbers 'Type-level representation of successor "Type-level representation of zero      experimentalconal@conal.net Safe-Inferred Is n a natural number type? +A number under the given limit, with proof  Proof that m < n # Interpret a  as a plain number $Equality test %Sum of naturals &Product of naturals ,Peano's induction principle -0Increase the upper limit in an inequality proof 4FIndex generation from integer. Can fail dynamically if the integer is  too large. ' !"#$%&'()*+,-./01234yz{|}~€5  !"#$%&'()*+,-./01234'()*+ !"#$%&,-./01234! !"#$%&'()*+,-./01234yz{|}~€ experimentalconal@conal.netNoneH:Vectors with type-determined length, having empty vector (J) and  vector cons ('(:<)'). KType-safe un-cons for vectors LType-safe head for vectors MType-safe tail for vectors NEquivalent to monad join for vectors OConcatenation of vectors PIndices under n: 0 :< 1 :< ... QJVector of ints from 0 to n-1. Named for APL iota operation (but 0 based). ZExtract element [Extract elements \Extract elements ]Extract elements ^JExtract a vector element, taking a proof that the index is within bounds. cIUpdate a vector element, taking a proof that the index is within bounds. dJReplace a vector element, taking a proof that the index is within bounds. i Variant of ^0 in which the index size is checked at run-time  instead of compile-time. j Variant of d0 in which the index size is checked at run-time  instead of compile-time. k7Flatten a vector of vectors (a 2D array) into a vector l5Chunk a vector into a vector of vectors (a 2D array) m6Swizzling. Extract multiple elements simultaneously. nSplit a vector oFDelete exactly one occurrence of an element from a vector, raising an  error if the element isn' t present. pIConvert a list into a vector. Error if the list is too short or too long qZip two vectors into one. Like  '(,)', but the former requires  IsNat n. r!Zip three vectors into one. Like liftA3 '(,)', but the former requires  IsNat n. s Unzip one vector into two. Like , but the former requires  IsNat n. t Unzip one vector into two. Like , but the former requires  IsNat n. u/Unzip a vector of pairs into a pair of vectors v/Unzip a vector of pairs into a pair of vectors wICross-product of two vectors, in the set-theory sense, not the geometric  sense. You can k" the resulting vector of vectors. x(Matrix transposition. Specialization of ‚. l56789:;<=>?@ABCDEFGHIJKLMƒ„…†‡NOˆ‰Š‹PŒQRSTUVWXYZ[\]^_Get first element `Get second element aGet third element bGet fourth element cdeSet first element fSet second element gSet third element hSet fourth element ijklŽmnopqrstuvwx‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ªy  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxDHJIKLMNOPQGFEDCBA@?>=<;:987RSTUVWXYZ[\]^_`abcdefghijklmnopqsurtvxw56i56789:;<=>?@ABCDEFGHJIKLMƒ„…†‡NOˆ‰Š‹PŒQRSTUVWXYZ[\]^_`abcdefghijklŽmnopqrstuvwx‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†„‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±type-unary-0.2.8TypeUnary.TyNat TypeUnary.Nat TypeUnary.VecN16N15N14N13N12N11N10N9N8N7N6N5N4N3N2N1N0:-::*::+:SZIsNatnatIndex:<:SLessZLessNatSuccZero withIsNatnatSuccnatIsNatnatToZnatEqnatAddnatMulzeroonetwothreefour inductionsuccLimunIndexsuccIindex0index1index2index3 coerceToIndexToVectoVecVec16Vec15Vec14Vec13Vec12Vec11Vec10Vec9Vec8Vec7Vec6Vec5Vec4Vec3Vec2Vec1Vec0Vec:<ZVecunConsVheadVtailVjoinV<+>indicesiotavec1vec2vec3vec4vec5vec6vec7vec8un1un2un3un4getget0get1get2get3updatesetset0set1set2set3getIsetIflattenVchunkVswizzlesplitdeleteVelemsVzipVzipV3zipWithV zipWithV3unzipVunzipV3cross transposecoerceToIndex'noIndex$fIsNatS$fIsNatZ $fNumIndex $fShowIndex $fEqIndex $fShowNatbaseControl.ApplicativeliftA2Data.Traversable sequenceAcantcantVpureVpureV'applyVpeekVpokeVpeekV'pokeV'indices' flattenV'chunkV'split'elemsV'toVecLresultnoOv$fRealFloatVec $fRealFracVec $fFloatingVec$fFractionalVec $fIntegralVec $fRealVec$fNumVec $fEnumVec $fToVec[]na $fToVecVecna $fStorableVec$fInnerSpaceVec$fVectorSpaceVec$fAdditiveGroupVec$fTraversableVec $fFoldableVec $fMonadVec$fApplicativeVec $fFunctorVec $fMonoidVec $fShowVec$fOrdVec$fEqVec