!"#$%&'()*+,-./0123456789:;<=>?@ABCD E F G H I J K L M N O P Q R S T U VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !!!!""""####$$$$$$$$$$$$%%%%%%%%%%&Safe      None;parse (parsef <* eof) "test" "f" :: Either ParseError DigitRight f5parse parsef "test" "fxyz" :: Either ParseError DigitRight fCisn't _Right (parse parsef "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'f' ==> isn't _Right (parse parsef "test" [c] :: Either ParseError Digit)None#;parse (parsee <* eof) "test" "e" :: Either ParseError DigitRight e5parse parsee "test" "exyz" :: Either ParseError DigitRight eCisn't _Right (parse parsee "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'e' ==> isn't _Right (parse parsee "test" [c] :: Either ParseError Digit) !"#$% !"# !"# !"#$%None);parse (parsed <* eof) "test" "d" :: Either ParseError DigitRight d5parse parsed "test" "dxyz" :: Either ParseError DigitRight dCisn't _Right (parse parsed "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'd' ==> isn't _Right (parse parsed "test" [c] :: Either ParseError Digit)&'()*+&'()&'()&'()*+None/;parse (parsec <* eof) "test" "c" :: Either ParseError DigitRight c5parse parsec "test" "cxyz" :: Either ParseError DigitRight cCisn't _Right (parse parsec "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'c' ==> isn't _Right (parse parsec "test" [c] :: Either ParseError Digit),-./01,-./,-./,-./01None5;parse (parseb <* eof) "test" "b" :: Either ParseError DigitRight b5parse parseb "test" "bxyz" :: Either ParseError DigitRight bCisn't _Right (parse parseb "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'b' ==> isn't _Right (parse parseb "test" [c] :: Either ParseError Digit)23456723452345234567None;;parse (parsea <* eof) "test" "a" :: Either ParseError DigitRight a5parse parsea "test" "axyz" :: Either ParseError DigitRight aCisn't _Right (parse parsea "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'a' ==> isn't _Right (parse parsea "test" [c] :: Either ParseError Digit)89:;<=89:;89:;89:;<=NoneA;parse (parseF <* eof) "test" "F" :: Either ParseError DigitRight F5parse parseF "test" "Fxyz" :: Either ParseError DigitRight FCisn't _Right (parse parseF "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'F' ==> isn't _Right (parse parseF "test" [c] :: Either ParseError Digit)>?@ABC>?@A>?@A>?@ABC None*E<parse (parseFf <* eof) "test" "F" :: Either ParseError DigitRight F6parse parseFf "test" "Fxyz" :: Either ParseError DigitRight F<parse (parseFf <* eof) "test" "f" :: Either ParseError DigitRight f6parse parseFf "test" "fxyz" :: Either ParseError DigitRight fDisn't _Right (parse parseFf "test" "xyz" :: Either ParseError Digit)True_\c -> (c `notElem` "Ff") ==> isn't _Right (parse parseFf "test" [c] :: Either ParseError Digit)DEDEDEDE NoneI;parse (parseE <* eof) "test" "E" :: Either ParseError DigitRight E5parse parseE "test" "Exyz" :: Either ParseError DigitRight ECisn't _Right (parse parseE "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'E' ==> isn't _Right (parse parseE "test" [c] :: Either ParseError Digit)FGHIJKFGHIFGHIFGHIJK None*M<parse (parseEe <* eof) "test" "E" :: Either ParseError DigitRight E6parse parseEe "test" "Exyz" :: Either ParseError DigitRight E<parse (parseEe <* eof) "test" "e" :: Either ParseError DigitRight e6parse parseEe "test" "exyz" :: Either ParseError DigitRight eDisn't _Right (parse parseEe "test" "xyz" :: Either ParseError Digit)True_\c -> (c `notElem` "Ee") ==> isn't _Right (parse parseEe "test" [c] :: Either ParseError Digit)LMLMLMLM NoneQ;parse (parseD <* eof) "test" "D" :: Either ParseError DigitRight D5parse parseD "test" "Dxyz" :: Either ParseError DigitRight DCisn't _Right (parse parseD "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'D' ==> isn't _Right (parse parseD "test" [c] :: Either ParseError Digit)NOPQRSNOPQNOPQNOPQRS None*U<parse (parseDd <* eof) "test" "D" :: Either ParseError DigitRight D6parse parseDd "test" "Dxyz" :: Either ParseError DigitRight D<parse (parseDd <* eof) "test" "d" :: Either ParseError DigitRight d6parse parseDd "test" "dxyz" :: Either ParseError DigitRight dDisn't _Right (parse parseDd "test" "xyz" :: Either ParseError Digit)True_\c -> (c `notElem` "Dd") ==> isn't _Right (parse parseDd "test" [c] :: Either ParseError Digit)TUTUTUTUNoneY;parse (parseC <* eof) "test" "C" :: Either ParseError DigitRight C5parse parseC "test" "Cxyz" :: Either ParseError DigitRight CCisn't _Right (parse parseC "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'C' ==> isn't _Right (parse parseC "test" [c] :: Either ParseError Digit)VWXYZ[VWXYVWXYVWXYZ[None*]<parse (parseCc <* eof) "test" "C" :: Either ParseError DigitRight C6parse parseCc "test" "Cxyz" :: Either ParseError DigitRight C<parse (parseCc <* eof) "test" "c" :: Either ParseError DigitRight c6parse parseCc "test" "cxyz" :: Either ParseError DigitRight cDisn't _Right (parse parseCc "test" "xyz" :: Either ParseError Digit)True_\c -> (c `notElem` "Cc") ==> isn't _Right (parse parseCc "test" [c] :: Either ParseError Digit)\]\]\]\]Nonea;parse (parseB <* eof) "test" "B" :: Either ParseError DigitRight B5parse parseB "test" "Bxyz" :: Either ParseError DigitRight BCisn't _Right (parse parseB "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'B' ==> isn't _Right (parse parseB "test" [c] :: Either ParseError Digit)^_`abc^_`a^_`a^_`abcNone*e<parse (parseBb <* eof) "test" "B" :: Either ParseError DigitRight B6parse parseBb "test" "Bxyz" :: Either ParseError DigitRight B<parse (parseBb <* eof) "test" "b" :: Either ParseError DigitRight b6parse parseBb "test" "bxyz" :: Either ParseError DigitRight bDisn't _Right (parse parseBb "test" "xyz" :: Either ParseError Digit)True_\c -> (c `notElem` "Bb") ==> isn't _Right (parse parseBb "test" [c] :: Either ParseError Digit)dedededeNonei;parse (parseA <* eof) "test" "A" :: Either ParseError DigitRight A5parse parseA "test" "Axyz" :: Either ParseError DigitRight ACisn't _Right (parse parseA "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= 'A' ==> isn't _Right (parse parseA "test" [c] :: Either ParseError Digit)fghijkfghifghifghijkNone *9;<=DIRm<parse (parseAa <* eof) "test" "A" :: Either ParseError DigitRight A6parse parseAa "test" "Axyz" :: Either ParseError DigitRight A<parse (parseAa <* eof) "test" "a" :: Either ParseError DigitRight a6parse parseAa "test" "axyz" :: Either ParseError DigitRight aDisn't _Right (parse parseAa "test" "xyz" :: Either ParseError Digit)True_\c -> (c `notElem` "Aa") ==> isn't _Right (parse parseAa "test" [c] :: Either ParseError Digit)lmlmlmlmNoneq;parse (parse9 <* eof) "test" "9" :: Either ParseError DigitRight 95parse parse9 "test" "9xyz" :: Either ParseError DigitRight 9Cisn't _Right (parse parse9 "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= '9' ==> isn't _Right (parse parse9 "test" [c] :: Either ParseError Digit)nopqrsnopqnopqnopqrsNonew;parse (parse8 <* eof) "test" "8" :: Either ParseError DigitRight 85parse parse8 "test" "8xyz" :: Either ParseError DigitRight 8Cisn't _Right (parse parse8 "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= '8' ==> isn't _Right (parse parse8 "test" [c] :: Either ParseError Digit)tuvwxytuvwtuvwtuvwxyNone};parse (parse7 <* eof) "test" "7" :: Either ParseError DigitRight 75parse parse7 "test" "7xyz" :: Either ParseError DigitRight 7Cisn't _Right (parse parse7 "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= '7' ==> isn't _Right (parse parse7 "test" [c] :: Either ParseError Digit)z{|}~z{|}z{|}z{|}~None;parse (parse6 <* eof) "test" "6" :: Either ParseError DigitRight 65parse parse6 "test" "6xyz" :: Either ParseError DigitRight 6Cisn't _Right (parse parse6 "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= '6' ==> isn't _Right (parse parse6 "test" [c] :: Either ParseError Digit)None;parse (parse5 <* eof) "test" "5" :: Either ParseError DigitRight 55parse parse5 "test" "5xyz" :: Either ParseError DigitRight 5Cisn't _Right (parse parse5 "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= '5' ==> isn't _Right (parse parse5 "test" [c] :: Either ParseError Digit)None;parse (parse4 <* eof) "test" "4" :: Either ParseError DigitRight 45parse parse4 "test" "4xyz" :: Either ParseError DigitRight 4Cisn't _Right (parse parse4 "test" "xyz" :: Either ParseError Digit)True T\c -> c /= '4' ==> isn't _Right (parse parse4 "test" [c] :: Either ParseError Digit)None;parse (parse3 <* eof) "test" "3" :: Either ParseError DigitRight 35parse parse3 "test" "3xyz" :: Either ParseError DigitRight 3Cisn't _Right (parse parse3 "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= '3' ==> isn't _Right (parse parse3 "test" [c] :: Either ParseError Digit)None;parse (parse2 <* eof) "test" "2" :: Either ParseError DigitRight 25parse parse2 "test" "2xyz" :: Either ParseError DigitRight 2Cisn't _Right (parse parse2 "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= '2' ==> isn't _Right (parse parse2 "test" [c] :: Either ParseError Digit)None;parse (parse1 <* eof) "test" "1" :: Either ParseError DigitRight 15parse parse1 "test" "1xyz" :: Either ParseError DigitRight 1Cisn't _Right (parse parse1 "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= '1' ==> isn't _Right (parse parse1 "test" [c] :: Either ParseError Digit)None9;;parse (parse0 <* eof) "test" "0" :: Either ParseError DigitRight 05parse parse0 "test" "0xyz" :: Either ParseError DigitRight 0Cisn't _Right (parse parse0 "test" "xyz" :: Either ParseError Digit)TrueT\c -> c /= '0' ==> isn't _Right (parse parse0 "test" [c] :: Either ParseError Digit)None*Gparse (parseDecimalNoZero <* eof) "test" "1" :: Either ParseError DigitRight 1Aparse parseDecimalNoZero "test" "1xyz" :: Either ParseError DigitRight 1Gparse (parseDecimalNoZero <* eof) "test" "2" :: Either ParseError DigitRight 2Aparse parseDecimalNoZero "test" "2xyz" :: Either ParseError DigitRight 2Gparse (parseDecimalNoZero <* eof) "test" "3" :: Either ParseError DigitRight 3Aparse parseDecimalNoZero "test" "3xyz" :: Either ParseError DigitRight 3Gparse (parseDecimalNoZero <* eof) "test" "4" :: Either ParseError DigitRight 4Aparse parseDecimalNoZero "test" "4xyz" :: Either ParseError DigitRight 4Gparse (parseDecimalNoZero <* eof) "test" "5" :: Either ParseError DigitRight 5Aparse parseDecimalNoZero "test" "5xyz" :: Either ParseError DigitRight 5Gparse (parseDecimalNoZero <* eof) "test" "6" :: Either ParseError DigitRight 6Aparse parseDecimalNoZero "test" "6xyz" :: Either ParseError DigitRight 6Gparse (parseDecimalNoZero <* eof) "test" "7" :: Either ParseError DigitRight 7Aparse parseDecimalNoZero "test" "7xyz" :: Either ParseError DigitRight 7Gparse (parseDecimalNoZero <* eof) "test" "8" :: Either ParseError DigitRight 8Aparse parseDecimalNoZero "test" "8xyz" :: Either ParseError DigitRight 8Gparse (parseDecimalNoZero <* eof) "test" "9" :: Either ParseError DigitRight 9Aparse parseDecimalNoZero "test" "9xyz" :: Either ParseError DigitRight 9Oisn't _Right (parse parseDecimalNoZero "test" "xyz" :: Either ParseError Digit)Trueq\c -> (c `notElem` "123456789") ==> isn't _Right (parse parseDecimalNoZero "test" [c] :: Either ParseError Digit)Aparse (parseDecimal <* eof) "test" "0" :: Either ParseError DigitRight 0;parse parseDecimal "test" "0xyz" :: Either ParseError DigitRight 0Aparse (parseDecimal <* eof) "test" "1" :: Either ParseError DigitRight 1;parse parseDecimal "test" "1xyz" :: Either ParseError DigitRight 1Aparse (parseDecimal <* eof) "test" "2" :: Either ParseError DigitRight 2;parse parseDecimal "test" "2xyz" :: Either ParseError DigitRight 2Aparse (parseDecimal <* eof) "test" "3" :: Either ParseError DigitRight 3;parse parseDecimal "test" "3xyz" :: Either ParseError DigitRight 3Aparse (parseDecimal <* eof) "test" "4" :: Either ParseError DigitRight 4;parse parseDecimal "test" "4xyz" :: Either ParseError DigitRight 4Aparse (parseDecimal <* eof) "test" "5" :: Either ParseError DigitRight 5;parse parseDecimal "test" "5xyz" :: Either ParseError DigitRight 5Aparse (parseDecimal <* eof) "test" "6" :: Either ParseError DigitRight 6;parse parseDecimal "test" "6xyz" :: Either ParseError DigitRight 6Aparse (parseDecimal <* eof) "test" "7" :: Either ParseError DigitRight 7;parse parseDecimal "test" "7xyz" :: Either ParseError DigitRight 7Aparse (parseDecimal <* eof) "test" "8" :: Either ParseError DigitRight 8;parse parseDecimal "test" "8xyz" :: Either ParseError DigitRight 8Aparse (parseDecimal <* eof) "test" "9" :: Either ParseError DigitRight 9;parse parseDecimal "test" "9xyz" :: Either ParseError DigitRight 9Iisn't _Right (parse parseDecimal "test" "xyz" :: Either ParseError Digit)Truel\c -> (c `notElem` "0123456789") ==> isn't _Right (parse parseDecimal "test" [c] :: Either ParseError Digit)None*Kparse (parseHEXADECIMALNoZero <* eof) "test" "1" :: Either ParseError DigitRight 1Eparse parseHEXADECIMALNoZero "test" "1xyz" :: Either ParseError DigitRight 1Kparse (parseHEXADECIMALNoZero <* eof) "test" "2" :: Either ParseError DigitRight 2Eparse parseHEXADECIMALNoZero "test" "2xyz" :: Either ParseError DigitRight 2Kparse (parseHEXADECIMALNoZero <* eof) "test" "3" :: Either ParseError DigitRight 3Eparse parseHEXADECIMALNoZero "test" "3xyz" :: Either ParseError DigitRight 3Kparse (parseHEXADECIMALNoZero <* eof) "test" "4" :: Either ParseError DigitRight 4Eparse parseHEXADECIMALNoZero "test" "4xyz" :: Either ParseError DigitRight 4Kparse (parseHEXADECIMALNoZero <* eof) "test" "5" :: Either ParseError DigitRight 5Eparse parseHEXADECIMALNoZero "test" "5xyz" :: Either ParseError DigitRight 5Kparse (parseHEXADECIMALNoZero <* eof) "test" "6" :: Either ParseError DigitRight 6Eparse parseHEXADECIMALNoZero "test" "6xyz" :: Either ParseError DigitRight 6Kparse (parseHEXADECIMALNoZero <* eof) "test" "7" :: Either ParseError DigitRight 7Eparse parseHEXADECIMALNoZero "test" "7xyz" :: Either ParseError DigitRight 7Kparse (parseHEXADECIMALNoZero <* eof) "test" "8" :: Either ParseError DigitRight 8Eparse parseHEXADECIMALNoZero "test" "8xyz" :: Either ParseError DigitRight 8Kparse (parseHEXADECIMALNoZero <* eof) "test" "9" :: Either ParseError DigitRight 9Eparse parseHEXADECIMALNoZero "test" "9xyz" :: Either ParseError DigitRight 9Kparse (parseHEXADECIMALNoZero <* eof) "test" "A" :: Either ParseError DigitRight AEparse parseHEXADECIMALNoZero "test" "Axyz" :: Either ParseError DigitRight AKparse (parseHEXADECIMALNoZero <* eof) "test" "B" :: Either ParseError DigitRight BEparse parseHEXADECIMALNoZero "test" "Bxyz" :: Either ParseError DigitRight BKparse (parseHEXADECIMALNoZero <* eof) "test" "C" :: Either ParseError DigitRight CEparse parseHEXADECIMALNoZero "test" "Cxyz" :: Either ParseError DigitRight CKparse (parseHEXADECIMALNoZero <* eof) "test" "D" :: Either ParseError DigitRight DEparse parseHEXADECIMALNoZero "test" "Dxyz" :: Either ParseError DigitRight DKparse (parseHEXADECIMALNoZero <* eof) "test" "E" :: Either ParseError DigitRight EEparse parseHEXADECIMALNoZero "test" "Exyz" :: Either ParseError DigitRight EKparse (parseHEXADECIMALNoZero <* eof) "test" "F" :: Either ParseError DigitRight FEparse parseHEXADECIMALNoZero "test" "Fxyz" :: Either ParseError DigitRight FSisn't _Right (parse parseHEXADECIMALNoZero "test" "xyz" :: Either ParseError Digit)True{\c -> (c `notElem` "123456789ABCDEF") ==> isn't _Right (parse parseHEXADECIMALNoZero "test" [c] :: Either ParseError Digit)Eparse (parseHEXADECIMAL <* eof) "test" "0" :: Either ParseError DigitRight 0?parse parseHEXADECIMAL "test" "0xyz" :: Either ParseError DigitRight 0Eparse (parseHEXADECIMAL <* eof) "test" "1" :: Either ParseError DigitRight 1?parse parseHEXADECIMAL "test" "1xyz" :: Either ParseError DigitRight 1Eparse (parseHEXADECIMAL <* eof) "test" "2" :: Either ParseError DigitRight 2?parse parseHEXADECIMAL "test" "2xyz" :: Either ParseError DigitRight 2Eparse (parseHEXADECIMAL <* eof) "test" "3" :: Either ParseError DigitRight 3?parse parseHEXADECIMAL "test" "3xyz" :: Either ParseError DigitRight 3Eparse (parseHEXADECIMAL <* eof) "test" "4" :: Either ParseError DigitRight 4?parse parseHEXADECIMAL "test" "4xyz" :: Either ParseError DigitRight 4Eparse (parseHEXADECIMAL <* eof) "test" "5" :: Either ParseError DigitRight 5?parse parseHEXADECIMAL "test" "5xyz" :: Either ParseError DigitRight 5Eparse (parseHEXADECIMAL <* eof) "test" "6" :: Either ParseError DigitRight 6?parse parseHEXADECIMAL "test" "6xyz" :: Either ParseError DigitRight 6Eparse (parseHEXADECIMAL <* eof) "test" "7" :: Either ParseError DigitRight 7?parse parseHEXADECIMAL "test" "7xyz" :: Either ParseError DigitRight 7Eparse (parseHEXADECIMAL <* eof) "test" "8" :: Either ParseError DigitRight 8?parse parseHEXADECIMAL "test" "8xyz" :: Either ParseError DigitRight 8Eparse (parseHEXADECIMAL <* eof) "test" "9" :: Either ParseError DigitRight 9?parse parseHEXADECIMAL "test" "9xyz" :: Either ParseError DigitRight 9Eparse (parseHEXADECIMAL <* eof) "test" "A" :: Either ParseError DigitRight A?parse parseHEXADECIMAL "test" "Axyz" :: Either ParseError DigitRight AEparse (parseHEXADECIMAL <* eof) "test" "B" :: Either ParseError DigitRight B?parse parseHEXADECIMAL "test" "Bxyz" :: Either ParseError DigitRight BEparse (parseHEXADECIMAL <* eof) "test" "C" :: Either ParseError DigitRight C?parse parseHEXADECIMAL "test" "Cxyz" :: Either ParseError DigitRight CEparse (parseHEXADECIMAL <* eof) "test" "D" :: Either ParseError DigitRight D?parse parseHEXADECIMAL "test" "Dxyz" :: Either ParseError DigitRight DEparse (parseHEXADECIMAL <* eof) "test" "E" :: Either ParseError DigitRight E?parse parseHEXADECIMAL "test" "Exyz" :: Either ParseError DigitRight EEparse (parseHEXADECIMAL <* eof) "test" "F" :: Either ParseError DigitRight F?parse parseHEXADECIMAL "test" "Fxyz" :: Either ParseError DigitRight FMisn't _Right (parse parseHEXADECIMAL "test" "xyz" :: Either ParseError Digit)Truev\c -> (c `notElem` "0123456789ABCDEF") ==> isn't _Right (parse parseHEXADECIMAL "test" [c] :: Either ParseError Digit) None*Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "1" :: Either ParseError DigitRight 1Eparse parseHeXaDeCiMaLNoZero "test" "1xyz" :: Either ParseError DigitRight 1Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "2" :: Either ParseError DigitRight 2Eparse parseHeXaDeCiMaLNoZero "test" "2xyz" :: Either ParseError DigitRight 2Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "3" :: Either ParseError DigitRight 3Eparse parseHeXaDeCiMaLNoZero "test" "3xyz" :: Either ParseError DigitRight 3Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "4" :: Either ParseError DigitRight 4Eparse parseHeXaDeCiMaLNoZero "test" "4xyz" :: Either ParseError DigitRight 4Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "5" :: Either ParseError DigitRight 5Eparse parseHeXaDeCiMaLNoZero "test" "5xyz" :: Either ParseError DigitRight 5Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "6" :: Either ParseError DigitRight 6Eparse parseHeXaDeCiMaLNoZero "test" "6xyz" :: Either ParseError DigitRight 6Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "7" :: Either ParseError DigitRight 7Eparse parseHeXaDeCiMaLNoZero "test" "7xyz" :: Either ParseError DigitRight 7Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "8" :: Either ParseError DigitRight 8Eparse parseHeXaDeCiMaLNoZero "test" "8xyz" :: Either ParseError DigitRight 8Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "9" :: Either ParseError DigitRight 9Eparse parseHeXaDeCiMaLNoZero "test" "9xyz" :: Either ParseError DigitRight 9Kparse (parseHeXaDeCiMaLNoZero <* eof) "test" "a" :: Either ParseError DigitRight aEparse parseHeXaDeCiMaLNoZero "test" "axyz" :: Either ParseError DigitRight aKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "b" :: Either ParseError DigitRight bEparse parseHeXaDeCiMaLNoZero "test" "bxyz" :: Either ParseError DigitRight bKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "c" :: Either ParseError DigitRight cEparse parseHeXaDeCiMaLNoZero "test" "cxyz" :: Either ParseError DigitRight cKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "d" :: Either ParseError DigitRight dEparse parseHeXaDeCiMaLNoZero "test" "dxyz" :: Either ParseError DigitRight dKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "e" :: Either ParseError DigitRight eEparse parseHeXaDeCiMaLNoZero "test" "exyz" :: Either ParseError DigitRight eKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "f" :: Either ParseError DigitRight fEparse parseHeXaDeCiMaLNoZero "test" "fxyz" :: Either ParseError DigitRight fKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "A" :: Either ParseError DigitRight AEparse parseHeXaDeCiMaLNoZero "test" "Axyz" :: Either ParseError DigitRight AKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "B" :: Either ParseError DigitRight BEparse parseHeXaDeCiMaLNoZero "test" "Bxyz" :: Either ParseError DigitRight BKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "C" :: Either ParseError DigitRight CEparse parseHeXaDeCiMaLNoZero "test" "Cxyz" :: Either ParseError DigitRight CKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "D" :: Either ParseError DigitRight DEparse parseHeXaDeCiMaLNoZero "test" "Dxyz" :: Either ParseError DigitRight DKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "E" :: Either ParseError DigitRight EEparse parseHeXaDeCiMaLNoZero "test" "Exyz" :: Either ParseError DigitRight EKparse (parseHeXaDeCiMaLNoZero <* eof) "test" "F" :: Either ParseError DigitRight FEparse parseHeXaDeCiMaLNoZero "test" "Fxyz" :: Either ParseError DigitRight FSisn't _Right (parse parseHeXaDeCiMaLNoZero "test" "xyz" :: Either ParseError Digit)True\c -> (c `notElem` "123456789abcdefABCDEF") ==> isn't _Right (parse parseHeXaDeCiMaLNoZero "test" [c] :: Either ParseError Digit)Eparse (parseHeXaDeCiMaL <* eof) "test" "0" :: Either ParseError DigitRight 0?parse parseHeXaDeCiMaL "test" "0xyz" :: Either ParseError DigitRight 0Eparse (parseHeXaDeCiMaL <* eof) "test" "1" :: Either ParseError DigitRight 1?parse parseHeXaDeCiMaL "test" "1xyz" :: Either ParseError DigitRight 1Eparse (parseHeXaDeCiMaL <* eof) "test" "2" :: Either ParseError DigitRight 2?parse parseHeXaDeCiMaL "test" "2xyz" :: Either ParseError DigitRight 2Eparse (parseHeXaDeCiMaL <* eof) "test" "3" :: Either ParseError DigitRight 3?parse parseHeXaDeCiMaL "test" "3xyz" :: Either ParseError DigitRight 3Eparse (parseHeXaDeCiMaL <* eof) "test" "4" :: Either ParseError DigitRight 4?parse parseHeXaDeCiMaL "test" "4xyz" :: Either ParseError DigitRight 4Eparse (parseHeXaDeCiMaL <* eof) "test" "5" :: Either ParseError DigitRight 5?parse parseHeXaDeCiMaL "test" "5xyz" :: Either ParseError DigitRight 5Eparse (parseHeXaDeCiMaL <* eof) "test" "6" :: Either ParseError DigitRight 6?parse parseHeXaDeCiMaL "test" "6xyz" :: Either ParseError DigitRight 6Eparse (parseHeXaDeCiMaL <* eof) "test" "7" :: Either ParseError DigitRight 7?parse parseHeXaDeCiMaL "test" "7xyz" :: Either ParseError DigitRight 7Eparse (parseHeXaDeCiMaL <* eof) "test" "8" :: Either ParseError DigitRight 8?parse parseHeXaDeCiMaL "test" "8xyz" :: Either ParseError DigitRight 8Eparse (parseHeXaDeCiMaL <* eof) "test" "9" :: Either ParseError DigitRight 9?parse parseHeXaDeCiMaL "test" "9xyz" :: Either ParseError DigitRight 9Eparse (parseHeXaDeCiMaL <* eof) "test" "a" :: Either ParseError DigitRight a?parse parseHeXaDeCiMaL "test" "axyz" :: Either ParseError DigitRight aEparse (parseHeXaDeCiMaL <* eof) "test" "b" :: Either ParseError DigitRight b?parse parseHeXaDeCiMaL "test" "bxyz" :: Either ParseError DigitRight bEparse (parseHeXaDeCiMaL <* eof) "test" "c" :: Either ParseError DigitRight c?parse parseHeXaDeCiMaL "test" "cxyz" :: Either ParseError DigitRight cEparse (parseHeXaDeCiMaL <* eof) "test" "d" :: Either ParseError DigitRight d?parse parseHeXaDeCiMaL "test" "dxyz" :: Either ParseError DigitRight dEparse (parseHeXaDeCiMaL <* eof) "test" "e" :: Either ParseError DigitRight e?parse parseHeXaDeCiMaL "test" "exyz" :: Either ParseError DigitRight eEparse (parseHeXaDeCiMaL <* eof) "test" "f" :: Either ParseError DigitRight f?parse parseHeXaDeCiMaL "test" "fxyz" :: Either ParseError DigitRight fEparse (parseHeXaDeCiMaL <* eof) "test" "A" :: Either ParseError DigitRight A?parse parseHeXaDeCiMaL "test" "Axyz" :: Either ParseError DigitRight AEparse (parseHeXaDeCiMaL <* eof) "test" "B" :: Either ParseError DigitRight B?parse parseHeXaDeCiMaL "test" "Bxyz" :: Either ParseError DigitRight BEparse (parseHeXaDeCiMaL <* eof) "test" "C" :: Either ParseError DigitRight C?parse parseHeXaDeCiMaL "test" "Cxyz" :: Either ParseError DigitRight CEparse (parseHeXaDeCiMaL <* eof) "test" "D" :: Either ParseError DigitRight D?parse parseHeXaDeCiMaL "test" "Dxyz" :: Either ParseError DigitRight DEparse (parseHeXaDeCiMaL <* eof) "test" "E" :: Either ParseError DigitRight E?parse parseHeXaDeCiMaL "test" "Exyz" :: Either ParseError DigitRight EEparse (parseHeXaDeCiMaL <* eof) "test" "F" :: Either ParseError DigitRight F?parse parseHeXaDeCiMaL "test" "Fxyz" :: Either ParseError DigitRight FMisn't _Right (parse parseHeXaDeCiMaL "test" "xyz" :: Either ParseError Digit)True|\c -> (c `notElem` "0123456789abcdefABCDEF") ==> isn't _Right (parse parseHeXaDeCiMaL "test" [c] :: Either ParseError Digit)!None*Kparse (parseHexadecimalNoZero <* eof) "test" "1" :: Either ParseError DigitRight 1Eparse parseHexadecimalNoZero "test" "1xyz" :: Either ParseError DigitRight 1Kparse (parseHexadecimalNoZero <* eof) "test" "2" :: Either ParseError DigitRight 2Eparse parseHexadecimalNoZero "test" "2xyz" :: Either ParseError DigitRight 2Kparse (parseHexadecimalNoZero <* eof) "test" "3" :: Either ParseError DigitRight 3Eparse parseHexadecimalNoZero "test" "3xyz" :: Either ParseError DigitRight 3Kparse (parseHexadecimalNoZero <* eof) "test" "4" :: Either ParseError DigitRight 4Eparse parseHexadecimalNoZero "test" "4xyz" :: Either ParseError DigitRight 4Kparse (parseHexadecimalNoZero <* eof) "test" "5" :: Either ParseError DigitRight 5Eparse parseHexadecimalNoZero "test" "5xyz" :: Either ParseError DigitRight 5Kparse (parseHexadecimalNoZero <* eof) "test" "6" :: Either ParseError DigitRight 6Eparse parseHexadecimalNoZero "test" "6xyz" :: Either ParseError DigitRight 6Kparse (parseHexadecimalNoZero <* eof) "test" "7" :: Either ParseError DigitRight 7Eparse parseHexadecimalNoZero "test" "7xyz" :: Either ParseError DigitRight 7Kparse (parseHexadecimalNoZero <* eof) "test" "8" :: Either ParseError DigitRight 8Eparse parseHexadecimalNoZero "test" "8xyz" :: Either ParseError DigitRight 8Kparse (parseHexadecimalNoZero <* eof) "test" "9" :: Either ParseError DigitRight 9Eparse parseHexadecimalNoZero "test" "9xyz" :: Either ParseError DigitRight 9Kparse (parseHexadecimalNoZero <* eof) "test" "a" :: Either ParseError DigitRight aEparse parseHexadecimalNoZero "test" "axyz" :: Either ParseError DigitRight aKparse (parseHexadecimalNoZero <* eof) "test" "b" :: Either ParseError DigitRight bEparse parseHexadecimalNoZero "test" "bxyz" :: Either ParseError DigitRight bKparse (parseHexadecimalNoZero <* eof) "test" "c" :: Either ParseError DigitRight cEparse parseHexadecimalNoZero "test" "cxyz" :: Either ParseError DigitRight cKparse (parseHexadecimalNoZero <* eof) "test" "d" :: Either ParseError DigitRight dEparse parseHexadecimalNoZero "test" "dxyz" :: Either ParseError DigitRight dKparse (parseHexadecimalNoZero <* eof) "test" "e" :: Either ParseError DigitRight eEparse parseHexadecimalNoZero "test" "exyz" :: Either ParseError DigitRight eKparse (parseHexadecimalNoZero <* eof) "test" "f" :: Either ParseError DigitRight fEparse parseHexadecimalNoZero "test" "fxyz" :: Either ParseError DigitRight fSisn't _Right (parse parseHexadecimalNoZero "test" "xyz" :: Either ParseError Digit)True{\c -> (c `notElem` "123456789abcdef") ==> isn't _Right (parse parseHexadecimalNoZero "test" [c] :: Either ParseError Digit)Eparse (parseHexadecimal <* eof) "test" "0" :: Either ParseError DigitRight 0?parse parseHexadecimal "test" "0xyz" :: Either ParseError DigitRight 0Eparse (parseHexadecimal <* eof) "test" "1" :: Either ParseError DigitRight 1?parse parseHexadecimal "test" "1xyz" :: Either ParseError DigitRight 1Eparse (parseHexadecimal <* eof) "test" "2" :: Either ParseError DigitRight 2?parse parseHexadecimal "test" "2xyz" :: Either ParseError DigitRight 2Eparse (parseHexadecimal <* eof) "test" "3" :: Either ParseError DigitRight 3?parse parseHexadecimal "test" "3xyz" :: Either ParseError DigitRight 3Eparse (parseHexadecimal <* eof) "test" "4" :: Either ParseError DigitRight 4?parse parseHexadecimal "test" "4xyz" :: Either ParseError DigitRight 4Eparse (parseHexadecimal <* eof) "test" "5" :: Either ParseError DigitRight 5?parse parseHexadecimal "test" "5xyz" :: Either ParseError DigitRight 5Eparse (parseHexadecimal <* eof) "test" "6" :: Either ParseError DigitRight 6?parse parseHexadecimal "test" "6xyz" :: Either ParseError DigitRight 6Eparse (parseHexadecimal <* eof) "test" "7" :: Either ParseError DigitRight 7?parse parseHexadecimal "test" "7xyz" :: Either ParseError DigitRight 7Eparse (parseHexadecimal <* eof) "test" "8" :: Either ParseError DigitRight 8?parse parseHexadecimal "test" "8xyz" :: Either ParseError DigitRight 8Eparse (parseHexadecimal <* eof) "test" "9" :: Either ParseError DigitRight 9?parse parseHexadecimal "test" "9xyz" :: Either ParseError DigitRight 9Eparse (parseHexadecimal <* eof) "test" "a" :: Either ParseError DigitRight a?parse parseHexadecimal "test" "axyz" :: Either ParseError DigitRight aEparse (parseHexadecimal <* eof) "test" "b" :: Either ParseError DigitRight b?parse parseHexadecimal "test" "bxyz" :: Either ParseError DigitRight bEparse (parseHexadecimal <* eof) "test" "c" :: Either ParseError DigitRight c?parse parseHexadecimal "test" "cxyz" :: Either ParseError DigitRight cEparse (parseHexadecimal <* eof) "test" "d" :: Either ParseError DigitRight d?parse parseHexadecimal "test" "dxyz" :: Either ParseError DigitRight dEparse (parseHexadecimal <* eof) "test" "e" :: Either ParseError DigitRight e?parse parseHexadecimal "test" "exyz" :: Either ParseError DigitRight eEparse (parseHexadecimal <* eof) "test" "f" :: Either ParseError DigitRight f?parse parseHexadecimal "test" "fxyz" :: Either ParseError DigitRight fMisn't _Right (parse parseHexadecimal "test" "xyz" :: Either ParseError Digit)Truev\c -> (c `notElem` "0123456789abcdef") ==> isn't _Right (parse parseHexadecimal "test" [c] :: Either ParseError Digit)"None*Eparse (parseOctalNoZero <* eof) "test" "1" :: Either ParseError DigitRight 1?parse parseOctalNoZero "test" "1xyz" :: Either ParseError DigitRight 1Eparse (parseOctalNoZero <* eof) "test" "2" :: Either ParseError DigitRight 2?parse parseOctalNoZero "test" "2xyz" :: Either ParseError DigitRight 2Eparse (parseOctalNoZero <* eof) "test" "3" :: Either ParseError DigitRight 3?parse parseOctalNoZero "test" "3xyz" :: Either ParseError DigitRight 3Eparse (parseOctalNoZero <* eof) "test" "4" :: Either ParseError DigitRight 4?parse parseOctalNoZero "test" "4xyz" :: Either ParseError DigitRight 4Eparse (parseOctalNoZero <* eof) "test" "5" :: Either ParseError DigitRight 5?parse parseOctalNoZero "test" "5xyz" :: Either ParseError DigitRight 5Eparse (parseOctalNoZero <* eof) "test" "6" :: Either ParseError DigitRight 6?parse parseOctalNoZero "test" "6xyz" :: Either ParseError DigitRight 6Eparse (parseOctalNoZero <* eof) "test" "7" :: Either ParseError DigitRight 7?parse parseOctalNoZero "test" "7xyz" :: Either ParseError DigitRight 7Misn't _Right (parse parseOctalNoZero "test" "xyz" :: Either ParseError Digit)Truem\c -> (c `notElem` "1234567") ==> isn't _Right (parse parseOctalNoZero "test" [c] :: Either ParseError Digit)?parse (parseOctal <* eof) "test" "0" :: Either ParseError DigitRight 0?parse (parseOctal <* eof) "test" "0" :: Either ParseError DigitRight 09parse parseOctal "test" "1xyz" :: Either ParseError DigitRight 19parse parseOctal "test" "1xyz" :: Either ParseError DigitRight 1?parse (parseOctal <* eof) "test" "2" :: Either ParseError DigitRight 29parse parseOctal "test" "2xyz" :: Either ParseError DigitRight 2?parse (parseOctal <* eof) "test" "3" :: Either ParseError DigitRight 39parse parseOctal "test" "3xyz" :: Either ParseError DigitRight 3?parse (parseOctal <* eof) "test" "4" :: Either ParseError DigitRight 49parse parseOctal "test" "4xyz" :: Either ParseError DigitRight 4?parse (parseOctal <* eof) "test" "5" :: Either ParseError DigitRight 59parse parseOctal "test" "5xyz" :: Either ParseError DigitRight 5?parse (parseOctal <* eof) "test" "6" :: Either ParseError DigitRight 69parse parseOctal "test" "6xyz" :: Either ParseError DigitRight 6?parse (parseOctal <* eof) "test" "7" :: Either ParseError DigitRight 79parse parseOctal "test" "7xyz" :: Either ParseError DigitRight 7Gisn't _Right (parse parseOctal "test" "xyz" :: Either ParseError Digit)Trueh\c -> (c `notElem` "01234567") ==> isn't _Right (parse parseOctal "test" [c] :: Either ParseError Digit)#None*Fparse (parseBinaryNoZero <* eof) "test" "1" :: Either ParseError DigitRight 1@parse parseBinaryNoZero "test" "1xyz" :: Either ParseError DigitRight 1Nisn't _Right (parse parseBinaryNoZero "test" "xyz" :: Either ParseError Digit)Trueh\c -> (c `notElem` "1") ==> isn't _Right (parse parseBinaryNoZero "test" [c] :: Either ParseError Digit)@parse (parseBinary <* eof) "test" "0" :: Either ParseError DigitRight 0:parse parseBinary "test" "0xyz" :: Either ParseError DigitRight 0@parse (parseBinary <* eof) "test" "1" :: Either ParseError DigitRight 1:parse parseBinary "test" "1xyz" :: Either ParseError DigitRight 1Hisn't _Right (parse parseBinary "test" "xyz" :: Either ParseError Digit)Truec\c -> (c `notElem` "01") ==> isn't _Right (parse parseBinary "test" [c] :: Either ParseError Digit)$None '1' ^? charBinaryNoZeroJust ()!charBinaryNoZero # Digit1 :: Char'1'5\c -> c /= '1' ==> (c ^? charBinaryNoZero == Nothing) '0' ^? charBinary :: Maybe DigitJust 0 '1' ^? charBinary :: Maybe DigitJust 1charBinary # Digit0 :: Char'0'charBinary # Digit1 :: Char'1'9\c -> (c `notElem` "01") ==> (c ^? charBinary == Nothing)%'1' ^? charOctalNoZero :: Maybe DigitJust 1%'2' ^? charOctalNoZero :: Maybe DigitJust 2%'3' ^? charOctalNoZero :: Maybe DigitJust 3%'4' ^? charOctalNoZero :: Maybe DigitJust 4%'5' ^? charOctalNoZero :: Maybe DigitJust 5%'6' ^? charOctalNoZero :: Maybe DigitJust 6%'7' ^? charOctalNoZero :: Maybe DigitJust 7 charOctalNoZero # Digit1 :: Char'1' charOctalNoZero # Digit2 :: Char'2' charOctalNoZero # Digit3 :: Char'3' charOctalNoZero # Digit4 :: Char'4' charOctalNoZero # Digit5 :: Char'5' charOctalNoZero # Digit6 :: Char'6' charOctalNoZero # Digit7 :: Char'7'C\c -> (c `notElem` "1234567") ==> (c ^? charOctalNoZero == Nothing)'0' ^? charOctal :: Maybe DigitJust 0'1' ^? charOctal :: Maybe DigitJust 1'2' ^? charOctal :: Maybe DigitJust 2'3' ^? charOctal :: Maybe DigitJust 3'4' ^? charOctal :: Maybe DigitJust 4'5' ^? charOctal :: Maybe DigitJust 5'6' ^? charOctal :: Maybe DigitJust 6'7' ^? charOctal :: Maybe DigitJust 7charOctal # Digit0 :: Char'0'charOctal # Digit1 :: Char'1'charOctal # Digit2 :: Char'2'charOctal # Digit3 :: Char'3'charOctal # Digit4 :: Char'4'charOctal # Digit5 :: Char'5'charOctal # Digit6 :: Char'6'charOctal # Digit7 :: Char'7'>\c -> (c `notElem` "01234567") ==> (c ^? charOctal == Nothing)''1' ^? charDecimalNoZero :: Maybe DigitJust 1''2' ^? charDecimalNoZero :: Maybe DigitJust 2''3' ^? charDecimalNoZero :: Maybe DigitJust 3''4' ^? charDecimalNoZero :: Maybe DigitJust 4''5' ^? charDecimalNoZero :: Maybe DigitJust 5''6' ^? charDecimalNoZero :: Maybe DigitJust 6''7' ^? charDecimalNoZero :: Maybe DigitJust 7''8' ^? charDecimalNoZero :: Maybe DigitJust 8''9' ^? charDecimalNoZero :: Maybe DigitJust 9"charDecimalNoZero # Digit1 :: Char'1'"charDecimalNoZero # Digit2 :: Char'2'"charDecimalNoZero # Digit3 :: Char'3'"charDecimalNoZero # Digit4 :: Char'4'"charDecimalNoZero # Digit5 :: Char'5'"charDecimalNoZero # Digit6 :: Char'6'"charDecimalNoZero # Digit7 :: Char'7'"charDecimalNoZero # Digit8 :: Char'8'"charDecimalNoZero # Digit9 :: Char'9'G\c -> (c `notElem` "123456789") ==> (c ^? charDecimalNoZero == Nothing)!'0' ^? charDecimal :: Maybe DigitJust 0!'1' ^? charDecimal :: Maybe DigitJust 1!'2' ^? charDecimal :: Maybe DigitJust 2!'3' ^? charDecimal :: Maybe DigitJust 3!'4' ^? charDecimal :: Maybe DigitJust 4!'5' ^? charDecimal :: Maybe DigitJust 5!'6' ^? charDecimal :: Maybe DigitJust 6!'7' ^? charDecimal :: Maybe DigitJust 7!'8' ^? charDecimal :: Maybe DigitJust 8!'9' ^? charDecimal :: Maybe DigitJust 9charDecimal # Digit0 :: Char'0'charDecimal # Digit1 :: Char'1'charDecimal # Digit2 :: Char'2'charDecimal # Digit3 :: Char'3'charDecimal # Digit4 :: Char'4'charDecimal # Digit5 :: Char'5'charDecimal # Digit6 :: Char'6'charDecimal # Digit7 :: Char'7'charDecimal # Digit8 :: Char'8'charDecimal # Digit9 :: Char'9'B\c -> (c `notElem` "0123456789") ==> (c ^? charDecimal == Nothing)+'1' ^? charHexadecimalNoZero :: Maybe DigitJust 1+'2' ^? charHexadecimalNoZero :: Maybe DigitJust 2+'3' ^? charHexadecimalNoZero :: Maybe DigitJust 3+'4' ^? charHexadecimalNoZero :: Maybe DigitJust 4+'5' ^? charHexadecimalNoZero :: Maybe DigitJust 5+'6' ^? charHexadecimalNoZero :: Maybe DigitJust 6+'7' ^? charHexadecimalNoZero :: Maybe DigitJust 7+'8' ^? charHexadecimalNoZero :: Maybe DigitJust 8+'9' ^? charHexadecimalNoZero :: Maybe DigitJust 9+'a' ^? charHexadecimalNoZero :: Maybe DigitJust a+'b' ^? charHexadecimalNoZero :: Maybe DigitJust b+'c' ^? charHexadecimalNoZero :: Maybe DigitJust c+'d' ^? charHexadecimalNoZero :: Maybe DigitJust d+'e' ^? charHexadecimalNoZero :: Maybe DigitJust e+'f' ^? charHexadecimalNoZero :: Maybe DigitJust f&charHexadecimalNoZero # Digit1 :: Char'1'&charHexadecimalNoZero # Digit2 :: Char'2'&charHexadecimalNoZero # Digit3 :: Char'3'&charHexadecimalNoZero # Digit4 :: Char'4'&charHexadecimalNoZero # Digit5 :: Char'5'&charHexadecimalNoZero # Digit6 :: Char'6'&charHexadecimalNoZero # Digit7 :: Char'7'&charHexadecimalNoZero # Digit8 :: Char'8'&charHexadecimalNoZero # Digit9 :: Char'9'&charHexadecimalNoZero # Digita :: Char'a'&charHexadecimalNoZero # Digitb :: Char'b'&charHexadecimalNoZero # Digitc :: Char'c'&charHexadecimalNoZero # Digitd :: Char'd'&charHexadecimalNoZero # Digite :: Char'e'&charHexadecimalNoZero # Digitf :: Char'f'Q\c -> (c `notElem` "123456789abcdef") ==> (c ^? charHexadecimalNoZero == Nothing)%'0' ^? charHexadecimal :: Maybe DigitJust 0%'1' ^? charHexadecimal :: Maybe DigitJust 1%'2' ^? charHexadecimal :: Maybe DigitJust 2%'3' ^? charHexadecimal :: Maybe DigitJust 3%'4' ^? charHexadecimal :: Maybe DigitJust 4%'5' ^? charHexadecimal :: Maybe DigitJust 5%'6' ^? charHexadecimal :: Maybe DigitJust 6%'7' ^? charHexadecimal :: Maybe DigitJust 7%'8' ^? charHexadecimal :: Maybe DigitJust 8%'9' ^? charHexadecimal :: Maybe DigitJust 9%'a' ^? charHexadecimal :: Maybe DigitJust a%'b' ^? charHexadecimal :: Maybe DigitJust b%'c' ^? charHexadecimal :: Maybe DigitJust c%'d' ^? charHexadecimal :: Maybe DigitJust d%'e' ^? charHexadecimal :: Maybe DigitJust e%'f' ^? charHexadecimal :: Maybe DigitJust f charHexadecimal # Digit0 :: Char'0' charHexadecimal # Digit1 :: Char'1' charHexadecimal # Digit2 :: Char'2' charHexadecimal # Digit3 :: Char'3' charHexadecimal # Digit4 :: Char'4' charHexadecimal # Digit5 :: Char'5' charHexadecimal # Digit6 :: Char'6' charHexadecimal # Digit7 :: Char'7' charHexadecimal # Digit8 :: Char'8' charHexadecimal # Digit9 :: Char'9' charHexadecimal # Digita :: Char'a' charHexadecimal # Digitb :: Char'b' charHexadecimal # Digitc :: Char'c' charHexadecimal # Digitd :: Char'd' charHexadecimal # Digite :: Char'e' charHexadecimal # Digitf :: Char'f'L\c -> (c `notElem` "0123456789abcdef") ==> (c ^? charHexadecimal == Nothing)+'1' ^? charHEXADECIMALNoZero :: Maybe DigitJust 1+'2' ^? charHEXADECIMALNoZero :: Maybe DigitJust 2+'3' ^? charHEXADECIMALNoZero :: Maybe DigitJust 3+'4' ^? charHEXADECIMALNoZero :: Maybe DigitJust 4+'5' ^? charHEXADECIMALNoZero :: Maybe DigitJust 5+'6' ^? charHEXADECIMALNoZero :: Maybe DigitJust 6+'7' ^? charHEXADECIMALNoZero :: Maybe DigitJust 7+'8' ^? charHEXADECIMALNoZero :: Maybe DigitJust 8+'9' ^? charHEXADECIMALNoZero :: Maybe DigitJust 9+'A' ^? charHEXADECIMALNoZero :: Maybe DigitJust A+'B' ^? charHEXADECIMALNoZero :: Maybe DigitJust B+'C' ^? charHEXADECIMALNoZero :: Maybe DigitJust C+'D' ^? charHEXADECIMALNoZero :: Maybe DigitJust D+'E' ^? charHEXADECIMALNoZero :: Maybe DigitJust E+'F' ^? charHEXADECIMALNoZero :: Maybe DigitJust F&charHEXADECIMALNoZero # Digit1 :: Char'1'&charHEXADECIMALNoZero # Digit2 :: Char'2'&charHEXADECIMALNoZero # Digit3 :: Char'3'&charHEXADECIMALNoZero # Digit4 :: Char'4'&charHEXADECIMALNoZero # Digit5 :: Char'5'&charHEXADECIMALNoZero # Digit6 :: Char'6'&charHEXADECIMALNoZero # Digit7 :: Char'7'&charHEXADECIMALNoZero # Digit8 :: Char'8'&charHEXADECIMALNoZero # Digit9 :: Char'9'&charHEXADECIMALNoZero # DigitA :: Char'A'&charHEXADECIMALNoZero # DigitB :: Char'B'&charHEXADECIMALNoZero # DigitC :: Char'C'&charHEXADECIMALNoZero # DigitD :: Char'D'&charHEXADECIMALNoZero # DigitE :: Char'E'&charHEXADECIMALNoZero # DigitF :: Char'F'Q\c -> (c `notElem` "123456789ABCDEF") ==> (c ^? charHEXADECIMALNoZero == Nothing)%'0' ^? charHEXADECIMAL :: Maybe DigitJust 0%'1' ^? charHEXADECIMAL :: Maybe DigitJust 1%'2' ^? charHEXADECIMAL :: Maybe DigitJust 2%'3' ^? charHEXADECIMAL :: Maybe DigitJust 3%'4' ^? charHEXADECIMAL :: Maybe DigitJust 4%'5' ^? charHEXADECIMAL :: Maybe DigitJust 5%'6' ^? charHEXADECIMAL :: Maybe DigitJust 6%'7' ^? charHEXADECIMAL :: Maybe DigitJust 7%'8' ^? charHEXADECIMAL :: Maybe DigitJust 8%'9' ^? charHEXADECIMAL :: Maybe DigitJust 9%'A' ^? charHEXADECIMAL :: Maybe DigitJust A%'B' ^? charHEXADECIMAL :: Maybe DigitJust B%'C' ^? charHEXADECIMAL :: Maybe DigitJust C%'D' ^? charHEXADECIMAL :: Maybe DigitJust D%'E' ^? charHEXADECIMAL :: Maybe DigitJust E%'F' ^? charHEXADECIMAL :: Maybe DigitJust F charHEXADECIMAL # Digit0 :: Char'0' charHEXADECIMAL # Digit1 :: Char'1' charHEXADECIMAL # Digit2 :: Char'2' charHEXADECIMAL # Digit3 :: Char'3' charHEXADECIMAL # Digit4 :: Char'4' charHEXADECIMAL # Digit5 :: Char'5' charHEXADECIMAL # Digit6 :: Char'6' charHEXADECIMAL # Digit7 :: Char'7' charHEXADECIMAL # Digit8 :: Char'8' charHEXADECIMAL # Digit9 :: Char'9' charHEXADECIMAL # DigitA :: Char'A' charHEXADECIMAL # DigitB :: Char'B' charHEXADECIMAL # DigitC :: Char'C' charHEXADECIMAL # DigitD :: Char'D' charHEXADECIMAL # DigitE :: Char'E' charHEXADECIMAL # DigitF :: Char'F'L\c -> (c `notElem` "0123456789ABCDEF") ==> (c ^? charHEXADECIMAL == Nothing)+'1' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust 1+'2' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust 2+'3' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust 3+'4' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust 4+'5' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust 5+'6' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust 6+'7' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust 7+'8' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust 8+'9' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust 9+'a' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust a+'b' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust b+'c' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust c+'d' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust d+'e' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust e+'f' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust f+'A' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust A+'B' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust B+'C' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust C+'D' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust D+'E' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust E+'F' ^? charHeXaDeCiMaLNoZero :: Maybe DigitJust F&charHeXaDeCiMaLNoZero # Digit1 :: Char'1'&charHeXaDeCiMaLNoZero # Digit2 :: Char'2'&charHeXaDeCiMaLNoZero # Digit3 :: Char'3'&charHeXaDeCiMaLNoZero # Digit4 :: Char'4'&charHeXaDeCiMaLNoZero # Digit5 :: Char'5'&charHeXaDeCiMaLNoZero # Digit6 :: Char'6'&charHeXaDeCiMaLNoZero # Digit7 :: Char'7'&charHeXaDeCiMaLNoZero # Digit8 :: Char'8'&charHeXaDeCiMaLNoZero # Digit9 :: Char'9'&charHeXaDeCiMaLNoZero # Digita :: Char'a'&charHeXaDeCiMaLNoZero # Digitb :: Char'b'&charHeXaDeCiMaLNoZero # Digitc :: Char'c'&charHeXaDeCiMaLNoZero # Digitd :: Char'd'&charHeXaDeCiMaLNoZero # Digite :: Char'e'&charHeXaDeCiMaLNoZero # Digitf :: Char'f'&charHeXaDeCiMaLNoZero # DigitA :: Char'A'&charHeXaDeCiMaLNoZero # DigitB :: Char'B'&charHeXaDeCiMaLNoZero # DigitC :: Char'C'&charHeXaDeCiMaLNoZero # DigitD :: Char'D'&charHeXaDeCiMaLNoZero # DigitE :: Char'E'&charHeXaDeCiMaLNoZero # DigitF :: Char'F'W\c -> (c `notElem` "123456789abcdefABCDEF") ==> (c ^? charHeXaDeCiMaLNoZero == Nothing)%'0' ^? charHeXaDeCiMaL :: Maybe DigitJust 0%'1' ^? charHeXaDeCiMaL :: Maybe DigitJust 1%'2' ^? charHeXaDeCiMaL :: Maybe DigitJust 2%'3' ^? charHeXaDeCiMaL :: Maybe DigitJust 3%'4' ^? charHeXaDeCiMaL :: Maybe DigitJust 4%'5' ^? charHeXaDeCiMaL :: Maybe DigitJust 5%'6' ^? charHeXaDeCiMaL :: Maybe DigitJust 6%'7' ^? charHeXaDeCiMaL :: Maybe DigitJust 7%'8' ^? charHeXaDeCiMaL :: Maybe DigitJust 8%'9' ^? charHeXaDeCiMaL :: Maybe DigitJust 9%'a' ^? charHeXaDeCiMaL :: Maybe DigitJust a%'b' ^? charHeXaDeCiMaL :: Maybe DigitJust b%'c' ^? charHeXaDeCiMaL :: Maybe DigitJust c%'d' ^? charHeXaDeCiMaL :: Maybe DigitJust d%'e' ^? charHeXaDeCiMaL :: Maybe DigitJust e%'f' ^? charHeXaDeCiMaL :: Maybe DigitJust f%'A' ^? charHeXaDeCiMaL :: Maybe DigitJust A%'B' ^? charHeXaDeCiMaL :: Maybe DigitJust B%'C' ^? charHeXaDeCiMaL :: Maybe DigitJust C%'D' ^? charHeXaDeCiMaL :: Maybe DigitJust D%'E' ^? charHeXaDeCiMaL :: Maybe DigitJust E%'F' ^? charHeXaDeCiMaL :: Maybe DigitJust F charHeXaDeCiMaL # Digit0 :: Char'0' charHeXaDeCiMaL # Digit1 :: Char'1' charHeXaDeCiMaL # Digit2 :: Char'2' charHeXaDeCiMaL # Digit3 :: Char'3' charHeXaDeCiMaL # Digit4 :: Char'4' charHeXaDeCiMaL # Digit5 :: Char'5' charHeXaDeCiMaL # Digit6 :: Char'6' charHeXaDeCiMaL # Digit7 :: Char'7' charHeXaDeCiMaL # Digit8 :: Char'8' charHeXaDeCiMaL # Digit9 :: Char'9' charHeXaDeCiMaL # Digita :: Char'a' charHeXaDeCiMaL # Digitb :: Char'b' charHeXaDeCiMaL # Digitc :: Char'c' charHeXaDeCiMaL # Digitd :: Char'd' charHeXaDeCiMaL # Digite :: Char'e' charHeXaDeCiMaL # Digitf :: Char'f' charHeXaDeCiMaL # DigitA :: Char'A' charHeXaDeCiMaL # DigitB :: Char'B' charHeXaDeCiMaL # DigitC :: Char'C' charHeXaDeCiMaL # DigitD :: Char'D' charHeXaDeCiMaL # DigitE :: Char'E' charHeXaDeCiMaL # DigitF :: Char'F'R\c -> (c `notElem` "0123456789abcdefABCDEF") ==> (c ^? charHeXaDeCiMaL == Nothing) %None 1 ^? integralBinaryNoZeroJust ()(integralBinaryNoZero # Digit1 :: Integer17\c -> c /= 1 ==> (c ^? integralBinaryNoZero == Nothing)"0 ^? integralBinary :: Maybe DigitJust 0"1 ^? integralBinary :: Maybe DigitJust 1"integralBinary # Digit0 :: Integer0"integralBinary # Digit1 :: Integer1?\c -> (c `notElem` [0, 1]) ==> (c ^? integralBinary == Nothing)'1 ^? integralOctalNoZero :: Maybe DigitJust 1'2 ^? integralOctalNoZero :: Maybe DigitJust 2'3 ^? integralOctalNoZero :: Maybe DigitJust 3'4 ^? integralOctalNoZero :: Maybe DigitJust 4'5 ^? integralOctalNoZero :: Maybe DigitJust 5'6 ^? integralOctalNoZero :: Maybe DigitJust 6'7 ^? integralOctalNoZero :: Maybe DigitJust 7'integralOctalNoZero # Digit1 :: Integer1'integralOctalNoZero # Digit2 :: Integer2'integralOctalNoZero # Digit3 :: Integer3'integralOctalNoZero # Digit4 :: Integer4'integralOctalNoZero # Digit5 :: Integer5'integralOctalNoZero # Digit6 :: Integer6'integralOctalNoZero # Digit7 :: Integer7D\c -> (c `notElem` [1..7]) ==> (c ^? integralOctalNoZero == Nothing)!0 ^? integralOctal :: Maybe DigitJust 0!1 ^? integralOctal :: Maybe DigitJust 1!2 ^? integralOctal :: Maybe DigitJust 2!3 ^? integralOctal :: Maybe DigitJust 3!4 ^? integralOctal :: Maybe DigitJust 4!5 ^? integralOctal :: Maybe DigitJust 5!6 ^? integralOctal :: Maybe DigitJust 6!7 ^? integralOctal :: Maybe DigitJust 7!integralOctal # Digit0 :: Integer0!integralOctal # Digit1 :: Integer1!integralOctal # Digit2 :: Integer2!integralOctal # Digit3 :: Integer3!integralOctal # Digit4 :: Integer4!integralOctal # Digit5 :: Integer5!integralOctal # Digit6 :: Integer6!integralOctal # Digit7 :: Integer7>\c -> (c `notElem` [0..7]) ==> (c ^? integralOctal == Nothing))1 ^? integralDecimalNoZero :: Maybe DigitJust 1)2 ^? integralDecimalNoZero :: Maybe DigitJust 2)3 ^? integralDecimalNoZero :: Maybe DigitJust 3)4 ^? integralDecimalNoZero :: Maybe DigitJust 4)5 ^? integralDecimalNoZero :: Maybe DigitJust 5)6 ^? integralDecimalNoZero :: Maybe DigitJust 6)7 ^? integralDecimalNoZero :: Maybe DigitJust 7)8 ^? integralDecimalNoZero :: Maybe DigitJust 8)9 ^? integralDecimalNoZero :: Maybe DigitJust 9)integralDecimalNoZero # Digit1 :: Integer1)integralDecimalNoZero # Digit2 :: Integer2)integralDecimalNoZero # Digit3 :: Integer3)integralDecimalNoZero # Digit4 :: Integer4)integralDecimalNoZero # Digit5 :: Integer5)integralDecimalNoZero # Digit6 :: Integer6)integralDecimalNoZero # Digit7 :: Integer7)integralDecimalNoZero # Digit8 :: Integer8)integralDecimalNoZero # Digit9 :: Integer9F\c -> (c `notElem` [1..9]) ==> (c ^? integralDecimalNoZero == Nothing)#0 ^? integralDecimal :: Maybe DigitJust 0#1 ^? integralDecimal :: Maybe DigitJust 1#2 ^? integralDecimal :: Maybe DigitJust 2#3 ^? integralDecimal :: Maybe DigitJust 3#4 ^? integralDecimal :: Maybe DigitJust 4#5 ^? integralDecimal :: Maybe DigitJust 5#6 ^? integralDecimal :: Maybe DigitJust 6#7 ^? integralDecimal :: Maybe DigitJust 7#8 ^? integralDecimal :: Maybe DigitJust 8#9 ^? integralDecimal :: Maybe DigitJust 9#integralDecimal # Digit0 :: Integer0#integralDecimal # Digit1 :: Integer1#integralDecimal # Digit2 :: Integer2#integralDecimal # Digit3 :: Integer3#integralDecimal # Digit4 :: Integer4#integralDecimal # Digit5 :: Integer5#integralDecimal # Digit6 :: Integer6#integralDecimal # Digit7 :: Integer7#integralDecimal # Digit8 :: Integer8#integralDecimal # Digit9 :: Integer9@\c -> (c `notElem` [0..9]) ==> (c ^? integralDecimal == Nothing)-1 ^? integralHexadecimalNoZero :: Maybe DigitJust 1-2 ^? integralHexadecimalNoZero :: Maybe DigitJust 2-3 ^? integralHexadecimalNoZero :: Maybe DigitJust 3-4 ^? integralHexadecimalNoZero :: Maybe DigitJust 4-5 ^? integralHexadecimalNoZero :: Maybe DigitJust 5-6 ^? integralHexadecimalNoZero :: Maybe DigitJust 6-7 ^? integralHexadecimalNoZero :: Maybe DigitJust 7-8 ^? integralHexadecimalNoZero :: Maybe DigitJust 8-9 ^? integralHexadecimalNoZero :: Maybe DigitJust 9.10 ^? integralHexadecimalNoZero :: Maybe DigitJust a.11 ^? integralHexadecimalNoZero :: Maybe DigitJust b.12 ^? integralHexadecimalNoZero :: Maybe DigitJust c.13 ^? integralHexadecimalNoZero :: Maybe DigitJust d.14 ^? integralHexadecimalNoZero :: Maybe DigitJust e.15 ^? integralHexadecimalNoZero :: Maybe DigitJust f-integralHexadecimalNoZero # Digit1 :: Integer1-integralHexadecimalNoZero # Digit2 :: Integer2-integralHexadecimalNoZero # Digit3 :: Integer3-integralHexadecimalNoZero # Digit4 :: Integer4-integralHexadecimalNoZero # Digit5 :: Integer5-integralHexadecimalNoZero # Digit6 :: Integer6-integralHexadecimalNoZero # Digit7 :: Integer7-integralHexadecimalNoZero # Digit8 :: Integer8-integralHexadecimalNoZero # Digit9 :: Integer9-integralHexadecimalNoZero # Digita :: Integer10-integralHexadecimalNoZero # Digitb :: Integer11-integralHexadecimalNoZero # Digitc :: Integer12-integralHexadecimalNoZero # Digitd :: Integer13-integralHexadecimalNoZero # Digite :: Integer14-integralHexadecimalNoZero # Digitf :: Integer15K\c -> (c `notElem` [1..15]) ==> (c ^? integralHexadecimalNoZero == Nothing)'0 ^? integralHexadecimal :: Maybe DigitJust 0'1 ^? integralHexadecimal :: Maybe DigitJust 1'2 ^? integralHexadecimal :: Maybe DigitJust 2'3 ^? integralHexadecimal :: Maybe DigitJust 3'4 ^? integralHexadecimal :: Maybe DigitJust 4'5 ^? integralHexadecimal :: Maybe DigitJust 5'6 ^? integralHexadecimal :: Maybe DigitJust 6'7 ^? integralHexadecimal :: Maybe DigitJust 7'8 ^? integralHexadecimal :: Maybe DigitJust 8'9 ^? integralHexadecimal :: Maybe DigitJust 9(10 ^? integralHexadecimal :: Maybe DigitJust a(11 ^? integralHexadecimal :: Maybe DigitJust b(12 ^? integralHexadecimal :: Maybe DigitJust c(13 ^? integralHexadecimal :: Maybe DigitJust d(14 ^? integralHexadecimal :: Maybe DigitJust e(15 ^? integralHexadecimal :: Maybe DigitJust f'integralHexadecimal # Digit0 :: Integer0'integralHexadecimal # Digit1 :: Integer1'integralHexadecimal # Digit2 :: Integer2'integralHexadecimal # Digit3 :: Integer3'integralHexadecimal # Digit4 :: Integer4'integralHexadecimal # Digit5 :: Integer5'integralHexadecimal # Digit6 :: Integer6'integralHexadecimal # Digit7 :: Integer7'integralHexadecimal # Digit8 :: Integer8'integralHexadecimal # Digit9 :: Integer9'integralHexadecimal # Digita :: Integer10'integralHexadecimal # Digitb :: Integer11'integralHexadecimal # Digitc :: Integer12'integralHexadecimal # Digitd :: Integer13'integralHexadecimal # Digite :: Integer14'integralHexadecimal # Digitf :: Integer15E\c -> (c `notElem` [0..15]) ==> (c ^? integralHexadecimal == Nothing)-1 ^? integralHEXADECIMALNoZero :: Maybe DigitJust 1-2 ^? integralHEXADECIMALNoZero :: Maybe DigitJust 2-3 ^? integralHEXADECIMALNoZero :: Maybe DigitJust 3-4 ^? integralHEXADECIMALNoZero :: Maybe DigitJust 4-5 ^? integralHEXADECIMALNoZero :: Maybe DigitJust 5-6 ^? integralHEXADECIMALNoZero :: Maybe DigitJust 6-7 ^? integralHEXADECIMALNoZero :: Maybe DigitJust 7-8 ^? integralHEXADECIMALNoZero :: Maybe DigitJust 8-9 ^? integralHEXADECIMALNoZero :: Maybe DigitJust 9.10 ^? integralHEXADECIMALNoZero :: Maybe DigitJust A.11 ^? integralHEXADECIMALNoZero :: Maybe DigitJust B.12 ^? integralHEXADECIMALNoZero :: Maybe DigitJust C.13 ^? integralHEXADECIMALNoZero :: Maybe DigitJust D.14 ^? integralHEXADECIMALNoZero :: Maybe DigitJust E.15 ^? integralHEXADECIMALNoZero :: Maybe DigitJust F-integralHEXADECIMALNoZero # Digit1 :: Integer1-integralHEXADECIMALNoZero # Digit2 :: Integer2-integralHEXADECIMALNoZero # Digit3 :: Integer3-integralHEXADECIMALNoZero # Digit4 :: Integer4-integralHEXADECIMALNoZero # Digit5 :: Integer5-integralHEXADECIMALNoZero # Digit6 :: Integer6-integralHEXADECIMALNoZero # Digit7 :: Integer7-integralHEXADECIMALNoZero # Digit8 :: Integer8-integralHEXADECIMALNoZero # Digit9 :: Integer9-integralHEXADECIMALNoZero # DigitA :: Integer10-integralHEXADECIMALNoZero # DigitB :: Integer11-integralHEXADECIMALNoZero # DigitC :: Integer12-integralHEXADECIMALNoZero # DigitD :: Integer13-integralHEXADECIMALNoZero # DigitE :: Integer14-integralHEXADECIMALNoZero # DigitF :: Integer15K\c -> (c `notElem` [1..15]) ==> (c ^? integralHEXADECIMALNoZero == Nothing)'0 ^? integralHEXADECIMAL :: Maybe DigitJust 0'1 ^? integralHEXADECIMAL :: Maybe DigitJust 1'2 ^? integralHEXADECIMAL :: Maybe DigitJust 2'3 ^? integralHEXADECIMAL :: Maybe DigitJust 3'4 ^? integralHEXADECIMAL :: Maybe DigitJust 4'5 ^? integralHEXADECIMAL :: Maybe DigitJust 5'6 ^? integralHEXADECIMAL :: Maybe DigitJust 6'7 ^? integralHEXADECIMAL :: Maybe DigitJust 7'8 ^? integralHEXADECIMAL :: Maybe DigitJust 8'9 ^? integralHEXADECIMAL :: Maybe DigitJust 9(10 ^? integralHEXADECIMAL :: Maybe DigitJust A(11 ^? integralHEXADECIMAL :: Maybe DigitJust B(12 ^? integralHEXADECIMAL :: Maybe DigitJust C(13 ^? integralHEXADECIMAL :: Maybe DigitJust D(14 ^? integralHEXADECIMAL :: Maybe DigitJust E(15 ^? integralHEXADECIMAL :: Maybe DigitJust F'integralHEXADECIMAL # Digit0 :: Integer0'integralHEXADECIMAL # Digit1 :: Integer1'integralHEXADECIMAL # Digit2 :: Integer2'integralHEXADECIMAL # Digit3 :: Integer3'integralHEXADECIMAL # Digit4 :: Integer4'integralHEXADECIMAL # Digit5 :: Integer5'integralHEXADECIMAL # Digit6 :: Integer6'integralHEXADECIMAL # Digit7 :: Integer7'integralHEXADECIMAL # Digit8 :: Integer8'integralHEXADECIMAL # Digit9 :: Integer9'integralHEXADECIMAL # DigitA :: Integer10'integralHEXADECIMAL # DigitB :: Integer11'integralHEXADECIMAL # DigitC :: Integer12'integralHEXADECIMAL # DigitD :: Integer13'integralHEXADECIMAL # DigitE :: Integer14'integralHEXADECIMAL # DigitF :: Integer15E\c -> (c `notElem` [0..15]) ==> (c ^? integralHEXADECIMAL == Nothing) &None    !"#&'(),-./234589:;>?@ADEFGHILMNOPQTUVWXY\]^_`adefghilmnopqtuvwz{|}'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij k l m n o p q r s t u v w x y z { |}~   !!!!""""####$$$$$$$$$$$$%%%%%%%%%%$%"digit-0.5.0-BB56DwXx7NbIte907UMPY5Data.Digit.Digit Data.Digit.Df Data.Digit.De Data.Digit.Dd Data.Digit.Dc Data.Digit.Db Data.Digit.Da Data.Digit.DFData.Digit.DFf Data.Digit.DEData.Digit.DEe Data.Digit.DDData.Digit.DDd Data.Digit.DCData.Digit.DCc Data.Digit.DBData.Digit.DBb Data.Digit.DAData.Digit.DAa Data.Digit.D9 Data.Digit.D8 Data.Digit.D7 Data.Digit.D6 Data.Digit.D5 Data.Digit.D4 Data.Digit.D3 Data.Digit.D2 Data.Digit.D1 Data.Digit.D0Data.Digit.DecimalData.Digit.HEXADECIMALData.Digit.HeXaDeCiMaLData.Digit.HexadecimalData.Digit.OctalData.Digit.BinaryData.Digit.CharData.Digit.Integral Data.DigitDigitDigit0Digit1Digit2Digit3Digit4Digit5Digit6Digit7Digit8Digit9DigitaDigitbDigitcDigitdDigiteDigitfDigitADigitBDigitCDigitDDigitEDigitF $fShowDigit $fEqDigit $fOrdDigitDfdfxfparsef $fDfDigit$fDf()Dedexeparsee $fDeDigit$fDe()Ddddxdparsed $fDdDigit$fDd()Dcdcxcparsec $fDcDigit$fDc()Dbdbxbparseb $fDbDigit$fDb()Dadaxaparsea $fDaDigit$fDa()DFdFxFparseF $fDFDigit$fDF()DFfparseFfDEdExEparseE $fDEDigit$fDE()DEeparseEeDDdDxDparseD $fDDDigit$fDD()DDdparseDdDCdCxCparseC $fDCDigit$fDC()DCcparseCcDBdBxBparseB $fDBDigit$fDB()DBbparseBbDAdAxAparseA $fDADigit$fDA()DAaparseAaD9d9x9parse9 $fD9Digit$fD9()D8d8x8parse8 $fD8Digit$fD8()D7d7x7parse7 $fD7Digit$fD7()D6d6x6parse6 $fD6Digit$fD6()D5d5x5parse5 $fD5Digit$fD5()D4d4x4parse4 $fD4Digit$fD4()D3d3x3parse3 $fD3Digit$fD3()D2d2x2parse2 $fD2Digit$fD2()D1d1x1parse1 $fD1Digit$fD1()D0d0x0parse0 $fD0Digit$fD0()Decimal DecimalNoZeroparseDecimalNoZero parseDecimal HEXADECIMALHEXADECIMALNoZeroparseHEXADECIMALNoZeroparseHEXADECIMAL HeXaDeCiMaLHeXaDeCiMaLNoZeroparseHeXaDeCiMaLNoZeroparseHeXaDeCiMaL HexadecimalHexadecimalNoZeroparseHexadecimalNoZeroparseHexadecimalOctal OctalNoZeroparseOctalNoZero parseOctalBinary BinaryNoZeroparseBinaryNoZero parseBinarycharBinaryNoZero charBinarycharOctalNoZero charOctalcharDecimalNoZero charDecimalcharHexadecimalNoZerocharHexadecimalcharHEXADECIMALNoZerocharHEXADECIMALcharHeXaDeCiMaLNoZerocharHeXaDeCiMaLintegralBinaryNoZerointegralBinaryintegralOctalNoZero integralOctalintegralDecimalNoZerointegralDecimalintegralHexadecimalNoZerointegralHexadecimalintegralHEXADECIMALNoZerointegralHEXADECIMALassociatePrism