!x      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safed10Determines whether a  is in the range '0' to '9'.d10Determines whether a H consists of a single character and that character is within the range '0' to '9'.d10Determines whether a < consists entirely of characters that are within the range '0' to '9'.d10Determines whether a  is in the range 0 to 9.d10Determines whether an  is in the range 0 to 9.d10Determines whether an  is in the range 0 to 9.d10.Determines whether a number whose type has an " instance is in the range 0 to 9.Safe.9ViI&d10A value of some numeric type a between  0 and  9.The  Data.D10.Num2 module provides many functions for constructing  values, including:  ::  ->    ::  -> ,There are also several ways to safely write " literals using Template Haskell: With the  QuasiQuotes? GHC extension enabled, you can write use the quasi-quoters * and +. With the TemplateHaskellB GHC extension enabled, you can splice expressions produced by ( and ).d10The constructor's name include the word "unsafe" as a reminder that you should generally avoid using it directly, because it allows constructing invalid  values. d10 Convert a  to its underlying  representation.d10Char [d10|7|]'7' d10 Convert a  to a .   x = [  x]d10Str [d10|7|]"7" d10 Convert a  to a ., is a more general version of this function.d10Nat [d10|7|]7 d10 Convert a  to an ., is a more general version of this function.d10Integer [d10|7|]7 d10 Convert a  to an ., is a more general version of this function.d10Int [d10|7|]7d10 Convert a  to any kind of number with a  instance..Specialized versions of this function include  ,  , and  .d10Num [d10|7|] :: Integer7d10The 4 which is uniquely congruent modulo 10 to the given ., is a more general version of this function.natMod10 56 :: D10 Int[d10|6|]d10The 4 which is uniquely congruent modulo 10 to the given ., is a more general version of this function.integerMod10 56 :: D10 Int[d10|6|]integerMod10 (-56) :: D10 Int[d10|4|]d10The 4 which is uniquely congruent modulo 10 to the given ., is a more general version of this function.intMod10 56 :: D10 Int[d10|6|]intMod10 (-56) :: D10 Int[d10|4|]d10The e which is uniquely congruent modulo 10 to the given number (whose type must have an instance of the  class)..Specialized versions of this function include , , and .(integralMod10 (56 :: Integer) :: D10 Int[d10|6|]+integralMod10 ((-56) :: Integer) :: D10 Int[d10|4|]d10 Convert a  to a  if it is within the range '0' to '9' , or produce  otherwise.  x =  ( x)!, is a more general version of this function.charD10Maybe '5' Just [d10|5|]charD10Maybe 'a'Nothingd10 Convert a  to a Q if it consists of exactly one character and that character is within the range '0' to '9', or produce  otherwise.  x =  ( x)", is a more general version of this function.strD10Maybe "5" Just [d10|5|]strD10Maybe "a"NothingstrD10Maybe "58"Nothingd10 Convert a  to a list of > if all of the characters in the string are within the range '0' to '9', or produce  otherwise.  x =  ( x)#, is a more general version of this function.strD10ListMaybe "5"Just [d10list|5|]strD10ListMaybe "a"NothingstrD10ListMaybe "58"Just [d10list|58|]d10 Convert a  to a $ if it is less than 10, or produce  otherwise.  x =  ( x), $, and '- are more general versions of this function. natD10Maybe 5 Just [d10|5|]natD10Maybe 12Nothingd10 Convert an  to a / if it is within the range 0 to 9, or produce  otherwise.  x =  ( x), %, and '- are more general versions of this function.integerD10Maybe 5 Just [d10|5|]integerD10Maybe 12NothingintegerD10Maybe (-5)Nothingd10 Convert an  to a / if it is within the range 0 to 9, or produce  otherwise.  x =  ( x), &, and '- are more general versions of this function. intD10Maybe 5 Just [d10|5|]intD10Maybe 12NothingintD10Maybe (-5)Nothingd10 Construct a ! from any kind of number with an  instance, or produce / if the number falls outside the range 0 to 9.  x =  ( x).Specialized versions of this function include , , and .', is a more general version of this function.integralD10Maybe (5 :: Integer) Just [d10|5|] integralD10Maybe (12 :: Integer)Nothing"integralD10Maybe ((-5) :: Integer)Nothingd10 Convert a  to a  if it is within the range '0' to '9', or ! with an error message otherwise.charD10Either '5'Right [d10|5|]charD10Either 'a'"Left "d10 must be between 0 and 9"d10 Convert a  to a N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.strD10Either "5"Right [d10|5|]strD10Either "a""Left "d10 must be between 0 and 9"strD10Either "58"%Left "d10 must be a single character"d10 Convert a  to a ? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.strD10ListEither "5"Right [d10list|5|]strD10ListEither "a""Left "d10 must be between 0 and 9"strD10ListEither "58"Right [d10list|58|]d10 Convert a  to a  if it is less than 10, or ! with an error message otherwise.natD10Either 5Right [d10|5|]natD10Either 12Left "d10 must be less than 10"d10 Convert an  to a ' if it is within the range 0 to 9, or ! with an error message otherwise.integerD10Either 5Right [d10|5|]integerD10Either 12"Left "d10 must be between 0 and 9"integerD10Either (-5)"Left "d10 must be between 0 and 9"d10 Convert an  to a ' if it is within the range 0 to 9, or ! with an error message otherwise.intD10Either 5Right [d10|5|]intD10Either 12"Left "d10 must be between 0 and 9"intD10Either (-5)"Left "d10 must be between 0 and 9" d10'Convert a number of a type that has an  instance to a ) if it falls within the range 0 to 9, or " with an error message otherwise. integralD10Either (5 :: Integer)Right [d10|5|]!integralD10Either (12 :: Integer)"Left "d10 must be between 0 and 9"#integralD10Either ((-5) :: Integer)"Left "d10 must be between 0 and 9"!d10 Convert a  to a  if it is within the range '0' to '9', or ! with an error message otherwise.+ is a specialized version of this function.charD10Fail '5' :: IO (D10 Int)[d10|5|]charD10Fail 'a' :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)"d10 Convert a  to a N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.+ is a specialized version of this function.strD10Fail "5" :: IO (D10 Int)[d10|5|]strD10Fail "a" :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)strD10Fail "58" :: IO (D10 Int):*** Exception: user error (d10 must be a single character)#d10 Convert a  to a ? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.+ is a specialized version of this function."strD10ListFail "5" :: IO [D10 Int] [d10list|5|]"strD10ListFail "a" :: IO [D10 Int]7*** Exception: user error (d10 must be between 0 and 9)#strD10ListFail "58" :: IO [D10 Int] [d10list|58|]$d10 Convert a  to a  if it is less than 10, or ! with an error message otherwise.+ is a specialized version of this function.', is a more general version of this function.natD10Fail 5 :: IO (D10 Int)[d10|5|]natD10Fail 12 :: IO (D10 Int)4*** Exception: user error (d10 must be less than 10)%d10 Convert an  to a ' if it is within the range 0 to 9, or ! with an error message otherwise.+ is a specialized version of this function.', is a more general version of this function. integerD10Fail 5 :: IO (D10 Int)[d10|5|]!integerD10Fail 12 :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)#integerD10Fail (-5) :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)&d10 Convert an  to a ' if it is within the range 0 to 9, or ! with an error message otherwise.+ is a specialized version of this function.', is a more general version of this function.intD10Fail 5 :: IO (D10 Int)[d10|5|]intD10Fail 12 :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)intD10Fail (-5) :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)'d10'Convert a number of a type that has an  instance to a ) if it falls within the range 0 to 9, or " with an error message otherwise., , , , $, %, and &/ are all specialized versions of this function..integralD10Fail (5 :: Integer) :: IO (D10 Int)[d10|5|]/integralD10Fail (12 :: Integer) :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)1integralD10Fail ((-5) :: Integer) :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)(d10A single base-10 digit.Produces an expression of type  a0 that can be used in a Template Haskell splice.d10Nat $(d10Exp 5)5d10Nat $(d10Exp 12)...... d10 must be between 0 and 9...)d10A list of base-10 digits.Produces an expression of type [ a]0 that can be used in a Template Haskell splice.d10Nat <$> $(d10ListExp "")[]d10Nat <$> $(d10ListExp "5")[5]d10Nat <$> $(d10ListExp "58")[5,8]d10Nat <$> $(d10ListExp "a")...... d10 must be between 0 and 9...*d10A single base-10 digit.IThis quasi-quoter, when used as an expression, produces a value of type  a.d10Nat [d10|5|]5d10Nat [d10|a|]...... d10 must be between 0 and 9...d10Nat [d10|58|]..."... d10 must be a single character...+d10A list of base-10 digits.IThis quasi-quoter, when used as an expression, produces a value of type [ a].d10Nat <$> [d10list||][]d10Nat <$> [d10list|5|][5]d10Nat <$> [d10list|58|][5,8]d10Nat <$> [d10list|a|]...... d10 must be between 0 and 9...,d108Shows base-10 digits using the quasiquoters defined in  Data.D10.Char$. A single digit is displayed using *'. A list of digits is displayed using +.&  !"#$%&'()*+&*+() ! "# $ % & 'Safe.9i3&2d10A  value between '0' and '9'.The  Data.D10.Char2 module provides many functions for constructing 2 values, including: B ::  ->  2 ; ::  -> 2 With the  QuasiQuotes' GHC extension enabled, you can write 2" literals using the quasi-quoters U and V.3d10The constructor's name include the word "unsafe" as a reminder that you should generally avoid using it directly, because it allows constructing invalid 2 values.4d10 Convert a 2 to its underlying  representation.d10Char [d10|7|]'7'5d10 Convert a 2 to a . 5 x = [4 x]d10Str [d10|7|]"7"6d10 Convert a 2 to a .9, is a more general version of this function.d10Nat [d10|7|]77d10 Convert a 2 to an .9, is a more general version of this function.d10Integer [d10|7|]78d10 Convert a 2 to an .9, is a more general version of this function.d10Int [d10|7|]79d10 Convert a 2 to any kind of number with a  instance..Specialized versions of this function include 6, 7, and 8.d10Num [d10|7|] :: Integer7:d10The 24 which is uniquely congruent modulo 10 to the given .=, is a more general version of this function. natMod10 56[d10|6|];d10The 24 which is uniquely congruent modulo 10 to the given .=, is a more general version of this function.integerMod10 56[d10|6|]integerMod10 (-56)[d10|4|]<d10The 24 which is uniquely congruent modulo 10 to the given .=, is a more general version of this function. intMod10 56[d10|6|]intMod10 (-56)[d10|4|]=d10The 2e which is uniquely congruent modulo 10 to the given number (whose type must have an instance of the  class)..Specialized versions of this function include :, ;, and <.integralMod10 (56 :: Integer)[d10|6|] integralMod10 ((-56) :: Integer)[d10|4|]>d10 Convert a  to a 2 if it is within the range '0' to '9' , or produce  otherwise.  x =  (> x)L, is a more general version of this function.charD10Maybe '5' Just [d10|5|]charD10Maybe 'a'Nothing?d10 Convert a  to a 2Q if it consists of exactly one character and that character is within the range '0' to '9', or produce  otherwise.  x =  (? x)M, is a more general version of this function.strD10Maybe "5" Just [d10|5|]strD10Maybe "a"NothingstrD10Maybe "58"Nothing@d10 Convert a  to a list of 2> if all of the characters in the string are within the range '0' to '9', or produce  otherwise.  x =  (@ x)N, is a more general version of this function.strD10ListMaybe "5"Just [d10list|5|]strD10ListMaybe "a"NothingstrD10ListMaybe "58"Just [d10list|58|]Ad10 Convert a  to a 2$ if it is less than 10, or produce  otherwise.  x =  (A x)D, O, and R- are more general versions of this function. natD10Maybe 5 Just [d10|5|]natD10Maybe 12NothingBd10 Convert an  to a 2/ if it is within the range 0 to 9, or produce  otherwise.  x =  (B x)D, P, and R- are more general versions of this function.integerD10Maybe 5 Just [d10|5|]integerD10Maybe 12NothingintegerD10Maybe (-5)NothingCd10 Convert an  to a 2/ if it is within the range 0 to 9, or produce  otherwise.  x =  (C x)D, Q, and R- are more general versions of this function. intD10Maybe 5 Just [d10|5|]intD10Maybe 12NothingintD10Maybe (-5)NothingDd10 Construct a 2! from any kind of number with an  instance, or produce / if the number falls outside the range 0 to 9.  x =  (D x).Specialized versions of this function include A, B, and C.R, is a more general version of this function.integralD10Maybe (5 :: Integer) Just [d10|5|] integralD10Maybe (12 :: Integer)Nothing"integralD10Maybe ((-5) :: Integer)NothingEd10 Convert a  to a 2 if it is within the range '0' to '9', or ! with an error message otherwise.charD10Either '5'Right [d10|5|]charD10Either 'a'"Left "d10 must be between 0 and 9"Fd10 Convert a  to a 2N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.strD10Either "5"Right [d10|5|]strD10Either "a""Left "d10 must be between 0 and 9"strD10Either "58"%Left "d10 must be a single character"Gd10 Convert a  to a 2? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.strD10ListEither "5"Right [d10list|5|]strD10ListEither "a""Left "d10 must be between 0 and 9"strD10ListEither "58"Right [d10list|58|]Hd10 Convert a  to a 2 if it is less than 10, or ! with an error message otherwise.natD10Either 5Right [d10|5|]natD10Either 12Left "d10 must be less than 10"Id10 Convert an  to a 2' if it is within the range 0 to 9, or ! with an error message otherwise.integerD10Either 5Right [d10|5|]integerD10Either 12"Left "d10 must be between 0 and 9"integerD10Either (-5)"Left "d10 must be between 0 and 9"Jd10 Convert an  to a 2' if it is within the range 0 to 9, or ! with an error message otherwise.intD10Either 5Right [d10|5|]intD10Either 12"Left "d10 must be between 0 and 9"intD10Either (-5)"Left "d10 must be between 0 and 9"Kd10'Convert a number of a type that has an  instance to a 2) if it falls within the range 0 to 9, or " with an error message otherwise. integralD10Either (5 :: Integer)Right [d10|5|]!integralD10Either (12 :: Integer)"Left "d10 must be between 0 and 9"#integralD10Either ((-5) :: Integer)"Left "d10 must be between 0 and 9"Ld10 Convert a  to a 2 if it is within the range '0' to '9', or ! with an error message otherwise.>+ is a specialized version of this function.charD10Fail '5' :: IO D10[d10|5|]charD10Fail 'a' :: IO D107*** Exception: user error (d10 must be between 0 and 9)Md10 Convert a  to a 2N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.?+ is a specialized version of this function.strD10Fail "5" :: IO D10[d10|5|]strD10Fail "a" :: IO D107*** Exception: user error (d10 must be between 0 and 9)strD10Fail "58" :: IO D10:*** Exception: user error (d10 must be a single character)Nd10 Convert a  to a 2? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.@+ is a specialized version of this function.strD10ListFail "5" :: IO [D10] [d10list|5|]strD10ListFail "a" :: IO [D10]7*** Exception: user error (d10 must be between 0 and 9)strD10ListFail "58" :: IO [D10] [d10list|58|]Od10 Convert a  to a 2 if it is less than 10, or ! with an error message otherwise.A+ is a specialized version of this function.R, is a more general version of this function.natD10Fail 5 :: IO D10[d10|5|]natD10Fail 12 :: IO D104*** Exception: user error (d10 must be less than 10)Pd10 Convert an  to a 2' if it is within the range 0 to 9, or ! with an error message otherwise.B+ is a specialized version of this function.R, is a more general version of this function.integerD10Fail 5 :: IO D10[d10|5|]integerD10Fail 12 :: IO D107*** Exception: user error (d10 must be between 0 and 9)integerD10Fail (-5) :: IO D107*** Exception: user error (d10 must be between 0 and 9)Qd10 Convert an  to a 2' if it is within the range 0 to 9, or ! with an error message otherwise.C+ is a specialized version of this function.R, is a more general version of this function.intD10Fail 5 :: IO D10[d10|5|]intD10Fail 12 :: IO D107*** Exception: user error (d10 must be between 0 and 9)intD10Fail (-5) :: IO D107*** Exception: user error (d10 must be between 0 and 9)Rd10'Convert a number of a type that has an  instance to a 2) if it falls within the range 0 to 9, or " with an error message otherwise.A, B, C, D, O, P, and Q/ are all specialized versions of this function.(integralD10Fail (5 :: Integer) :: IO D10[d10|5|])integralD10Fail (12 :: Integer) :: IO D107*** Exception: user error (d10 must be between 0 and 9)+integralD10Fail ((-5) :: Integer) :: IO D107*** Exception: user error (d10 must be between 0 and 9)Sd10A single base-10 digit.Produces an expression of type 20 that can be used in a Template Haskell splice.d10Nat $(d10Exp 5)5d10Nat $(d10Exp 12)...... d10 must be between 0 and 9...Td10A list of base-10 digits.Produces an expression of type [2]0 that can be used in a Template Haskell splice.d10Nat <$> $(d10ListExp "")[]d10Nat <$> $(d10ListExp "5")[5]d10Nat <$> $(d10ListExp "58")[5,8]d10Nat <$> $(d10ListExp "a")...... d10 must be between 0 and 9...Ud10A single base-10 digit.IThis quasi-quoter, when used as an expression, produces a value of type 2.d10Nat [d10|5|]5d10Nat [d10|a|]...... d10 must be between 0 and 9...d10Nat [d10|58|]..."... d10 must be a single character...Vd10A list of base-10 digits.IThis quasi-quoter, when used as an expression, produces a value of type [2].d10Nat <$> [d10list||][]d10Nat <$> [d10list|5|][5]d10Nat <$> [d10list|58|][5,8]d10Nat <$> [d10list|a|]...... d10 must be between 0 and 9...Wd108Shows base-10 digits using the quasiquoters defined in  Data.D10.Char$. A single digit is displayed using U'. A list of digits is displayed using V.&23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV&23UVST4>EL5?FM@GN6AHO:7BIP;8CJQ<9DKR=Safe9i.]d10A whole number between 0 and 9.^d10Zero_d10One`d10Twoad10Threebd10Fourcd10Fivedd10Sixed10Sevenfd10Eightgd10Ninehd10 Convert a ] to its underlying  representation. d10Char D7'7'id10 Convert a ] to a . i x = [h x] d10Str D7"7"jd10 Convert a ] to a .m, is a more general version of this function. d10Nat D77kd10 Convert a ] to an .m, is a more general version of this function. d10Integer D77ld10 Convert a ] to an .m, is a more general version of this function. d10Int D77md10 Convert a ] to any kind of number with a  instance..Specialized versions of this function include j, k, and l.d10Num D7 :: Integer7nd10The ]4 which is uniquely congruent modulo 10 to the given .q, is a more general version of this function. natMod10 56D6od10The ]4 which is uniquely congruent modulo 10 to the given .q, is a more general version of this function.integerMod10 56D6integerMod10 (-56)D4pd10The ]4 which is uniquely congruent modulo 10 to the given .q, is a more general version of this function. intMod10 56D6intMod10 (-56)D4qd10The ]e which is uniquely congruent modulo 10 to the given number (whose type must have an instance of the  class)..Specialized versions of this function include n, o, and p.integralMod10 (56 :: Integer)D6 integralMod10 ((-56) :: Integer)D4rd10 Convert a  to a ] if it is within the range '0' to '9' , or produce  otherwise.  x =  (r x), is a more general version of this function.charD10Maybe '5'Just D5charD10Maybe 'a'Nothingsd10 Convert a  to a ]Q if it consists of exactly one character and that character is within the range '0' to '9', or produce  otherwise.  x =  (s x), is a more general version of this function.strD10Maybe "5"Just D5strD10Maybe "a"NothingstrD10Maybe "58"Nothingtd10 Convert a  to a list of ]> if all of the characters in the string are within the range '0' to '9', or produce  otherwise.  x =  (t x), is a more general version of this function.strD10ListMaybe "5" Just [D5]strD10ListMaybe "a"NothingstrD10ListMaybe "58" Just [D5,D8]ud10 Convert a  to a ]$ if it is less than 10, or produce  otherwise.  x =  (u x)x, , and - are more general versions of this function. natD10Maybe 5Just D5natD10Maybe 12Nothingvd10 Convert an  to a ]/ if it is within the range 0 to 9, or produce  otherwise.  x =  (v x)x, , and - are more general versions of this function.integerD10Maybe 5Just D5integerD10Maybe 12NothingintegerD10Maybe (-5)Nothingwd10 Convert an  to a ]/ if it is within the range 0 to 9, or produce  otherwise.  x =  (w x)x, , and - are more general versions of this function. intD10Maybe 5Just D5intD10Maybe 12NothingintD10Maybe (-5)Nothingxd10 Construct a ]! from any kind of number with an  instance, or produce / if the number falls outside the range 0 to 9.  x =  (x x).Specialized versions of this function include u, v, and w., is a more general version of this function.integralD10Maybe (5 :: Integer)Just D5 integralD10Maybe (12 :: Integer)Nothing"integralD10Maybe ((-5) :: Integer)Nothingyd10 Convert a  to a ] if it is within the range '0' to '9', or ! with an error message otherwise.charD10Either '5'Right D5charD10Either 'a'"Left "d10 must be between 0 and 9"zd10 Convert a  to a ]N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.strD10Either "5"Right D5strD10Either "a""Left "d10 must be between 0 and 9"strD10Either "58"%Left "d10 must be a single character"{d10 Convert a  to a ]? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.strD10ListEither "5" Right [D5]strD10ListEither "a""Left "d10 must be between 0 and 9"strD10ListEither "58" Right [D5,D8]|d10 Convert a  to a ] if it is less than 10, or ! with an error message otherwise.natD10Either 5Right D5natD10Either 12Left "d10 must be less than 10"}d10 Convert an  to a ]' if it is within the range 0 to 9, or ! with an error message otherwise.integerD10Either 5Right D5integerD10Either 12"Left "d10 must be between 0 and 9"integerD10Either (-5)"Left "d10 must be between 0 and 9"~d10 Convert an  to a ]' if it is within the range 0 to 9, or ! with an error message otherwise.intD10Either 5Right D5intD10Either 12"Left "d10 must be between 0 and 9"intD10Either (-5)"Left "d10 must be between 0 and 9"d10'Convert a number of a type that has an  instance to a ]) if it falls within the range 0 to 9, or " with an error message otherwise. integralD10Either (5 :: Integer)Right D5!integralD10Either (12 :: Integer)"Left "d10 must be between 0 and 9"#integralD10Either ((-5) :: Integer)"Left "d10 must be between 0 and 9"d10 Convert a  to a ] if it is within the range '0' to '9', or ! with an error message otherwise.r+ is a specialized version of this function.charD10Fail '5' :: IO D10D5charD10Fail 'a' :: IO D107*** Exception: user error (d10 must be between 0 and 9)d10 Convert a  to a ]N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.s+ is a specialized version of this function.strD10Fail "5" :: IO D10D5strD10Fail "a" :: IO D107*** Exception: user error (d10 must be between 0 and 9)strD10Fail "58" :: IO D10:*** Exception: user error (d10 must be a single character)d10 Convert a  to a ]? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.t+ is a specialized version of this function.strD10ListFail "5" :: IO [D10][D5]strD10ListFail "a" :: IO [D10]7*** Exception: user error (d10 must be between 0 and 9)strD10ListFail "58" :: IO [D10][D5,D8]d10 Convert a  to a ] if it is less than 10, or ! with an error message otherwise.u+ is a specialized version of this function., is a more general version of this function.natD10Fail 5 :: IO D10D5natD10Fail 12 :: IO D104*** Exception: user error (d10 must be less than 10)d10 Convert an  to a ]' if it is within the range 0 to 9, or ! with an error message otherwise.v+ is a specialized version of this function., is a more general version of this function.integerD10Fail 5 :: IO D10D5integerD10Fail 12 :: IO D107*** Exception: user error (d10 must be between 0 and 9)integerD10Fail (-5) :: IO D107*** Exception: user error (d10 must be between 0 and 9)d10 Convert an  to a ]' if it is within the range 0 to 9, or ! with an error message otherwise.w+ is a specialized version of this function., is a more general version of this function.intD10Fail 5 :: IO D10D5intD10Fail 12 :: IO D107*** Exception: user error (d10 must be between 0 and 9)intD10Fail (-5) :: IO D107*** Exception: user error (d10 must be between 0 and 9)d10'Convert a number of a type that has an  instance to a ]) if it falls within the range 0 to 9, or " with an error message otherwise.u, v, w, x, , , and / are all specialized versions of this function.(integralD10Fail (5 :: Integer) :: IO D10D5)integralD10Fail (12 :: Integer) :: IO D107*** Exception: user error (d10 must be between 0 and 9)+integralD10Fail ((-5) :: Integer) :: IO D107*** Exception: user error (d10 must be between 0 and 9)d10A single base-10 digit.Produces an expression of type ]0 that can be used in a Template Haskell splice. $(d10Exp 5)D5 $(d10Exp 12)...... d10 must be between 0 and 9...d10A list of base-10 digits.Produces an expression of type []]0 that can be used in a Template Haskell splice.$(d10ListExp "")[]$(d10ListExp "5")[D5]$(d10ListExp "58")[D5,D8]$(d10ListExp "a")...... d10 must be between 0 and 9...d10A single base-10 digit.IThis quasi-quoter, when used as an expression, produces a value of type ].[d10|5|]D5[d10|a|]...... d10 must be between 0 and 9... [d10|58|]..."... d10 must be a single character...d10A list of base-10 digits.IThis quasi-quoter, when used as an expression, produces a value of type []]. [d10list||][] [d10list|5|][D5] [d10list|58|][D5,D8] [d10list|a|]...... d10 must be between 0 and 9....]_^`abcdefghijklmnopqrstuvwxyz{|}~.]_^`abcdefghryiszt{ju|nkv}olw~pmxq      !"#$%&'()*+,-./012345678 !"#$%&'()*+,-./0123456789:;<=>?@AB !"#$%&'()*+,-./012546873CDEFGHFIJKLMCDNFOPFQRFGSFQTFGUFVWFXYZ"d10-0.1.1.0-5fZxR8Xso36BuuqIrL447HData.D10.Predicate Data.D10.Num Data.D10.Char Data.D10.Safe Data.MaybeisJust isD10CharisD10Str isD10ListStrisD10Nat isD10IntegerisD10Int isD10IntegralD10 D10_Unsafed10Chard10Strd10Nat d10Integerd10Intd10NumnatMod10 integerMod10intMod10 integralMod10 charD10Maybe strD10MaybestrD10ListMaybe natD10MaybeintegerD10Maybe intD10MaybeintegralD10Maybe charD10Either strD10EitherstrD10ListEither natD10EitherintegerD10Either intD10EitherintegralD10Either charD10Fail strD10FailstrD10ListFail natD10FailintegerD10Fail intD10FailintegralD10Faild10Exp d10ListExpd10d10list $fShowD10 $fEnumD10 $fBoundedD10$fEqD10$fOrdD10 $fLiftD10D0D1D2D3D4D5D6D7D8D9ghc-prim GHC.TypesCharbaseGHC.BaseString GHC.NaturalNatural integer-gmpGHC.Integer.TypeIntegerIntGHC.RealIntegralGHC.Num fromIntegerMaybeNumNothing Data.EitherLeftControl.Monad.Failfail