-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Type-level integers, booleans, lists using type families
--
-- TFP is an abbreviation for Type Family Programming. It provides
-- implementations of type-level integers and booleans, and (eventually)
-- simple type-level data structures. It uses type families as functions
-- to produce new types, which provides an intuitive way to parameterize
-- data types and functions on numerical values at compile time.
@package tfp
@version 0.8
-- | Type-level numerical operations using type families.
module Types.Data.Num.Decimal.Digits
-- | Representation name for decimal type level numbers.
data Decimal
decimal :: Decimal
-- | The wrapper type for decimal type level numbers.
data Dec x
data Neg' x
-- | The terminator type for decimal digit lists.
data DecN
data Dec0
data Dec1
data Dec2
data Dec3
data Dec4
data Dec5
data Dec6
data Dec7
data Dec8
data Dec9
instance Typeable Dec0
instance Typeable Dec1
instance Typeable Dec2
instance Typeable Dec3
instance Typeable Dec4
instance Typeable Dec5
instance Typeable Dec6
instance Typeable Dec7
instance Typeable Dec8
instance Typeable Dec9
instance Show Dec9
instance Show Dec8
instance Show Dec7
instance Show Dec6
instance Show Dec5
instance Show Dec4
instance Show Dec3
instance Show Dec2
instance Show Dec1
instance Show Dec0
instance Show DecN
-- | Type-level numerical operations using type families.
module Types.Data.Bool
data True
trueT :: True
data False
falseT :: False
notT :: x -> Not x
andT :: x -> y -> x :&&: y
orT :: x -> y -> x :||: y
class IfT x y z where type family If x y z
ifT :: IfT x y z => x -> y -> z -> If x y z
instance Typeable True
instance Typeable False
instance IfT False y z
instance IfT True y z
instance Show False
instance Show True
module Types.Data.List
data Cons car cdr
data Null
instance Typeable2 Cons
instance Typeable Null
instance Show Null
instance (Show car, Show cdr) => Show (Cons car cdr)
-- | Type-level numerical operations using type families.
module Types.Data.Ord
compareT :: x -> y -> Compare x y
data LT
data EQ
data GT
isLTT :: c -> IsLT c
isEQT :: c -> IsEQ c
isGTT :: c -> IsGT c
ltT :: x -> y -> x :<: y
class LTT x y
leT :: x -> y -> x :<=: y
class LET x y
eqT :: x -> y -> x :==: y
class EQT x y
neT :: x -> y -> x :/=: y
class NET x y
geT :: x -> y -> x :>=: y
class GET x y
gtT :: x -> y -> x :>: y
class GTT x y
minT :: x -> y -> Min x y
maxT :: x -> y -> Max x y
instance (x :>: y) ~ True => GTT x y
instance (x :>=: y) ~ True => GET x y
instance (x :/=: y) ~ True => NET x y
instance (x :==: y) ~ True => EQT x y
instance (x :<=: y) ~ True => LET x y
instance (x :<: y) ~ True => LTT x y
-- | Type-level numerical operations using type families.
module Types.Data.Num.Ops
data (:.) ds d
-- | Neg x evaluates to the additive inverse of (i.e., minus)
-- x.
negT :: x -> Neg x
isPositiveT :: x -> IsPositive x
isZeroT :: x -> IsZero x
isNegativeT :: x -> IsNegative x
isNaturalT :: x -> IsNatural x
succT :: x -> Succ x
predT :: x -> Pred x
isEvenT :: x -> IsEven x
isOddT :: x -> IsOdd x
addT :: x -> y -> x :+: y
subT :: x -> y -> x :-: y
mulT :: x -> y -> x :*: y
mul2T :: x -> Mul2 x
pow2T :: x -> Pow2 x
log2CeilT :: x -> Log2Ceil x
divModT :: x -> y -> DivMod x y
divT :: x -> y -> Div x y
modT :: x -> y -> Mod x y
div2T :: x -> Div2 x
facT :: x -> Fac x
class IntegerR r
reifyIntegral :: IntegerR r => r -> Integer -> (forall s. (IntegerT s, Repr s ~ r) => s -> a) -> a
class IntegerR (Repr x) => IntegerT x where type family Repr x
fromIntegerT :: (IntegerT x, Num y) => x -> y
class IntegerT x => NaturalT x
class IntegerT x => PositiveT x
class IntegerT x => NegativeT x
reifyPositive :: IntegerR r => r -> Integer -> (forall s. (PositiveT s, Repr s ~ r) => s -> a) -> Maybe a
reifyNegative :: IntegerR r => r -> Integer -> (forall s. (NegativeT s, Repr s ~ r) => s -> a) -> Maybe a
reifyNatural :: IntegerR r => r -> Integer -> (forall s. (NaturalT s, Repr s ~ r) => s -> a) -> Maybe a
instance IntegerT x => IntegerT (AssertNat x)
instance IntegerT x => IntegerT (AssertNeg x)
instance IntegerT x => IntegerT (AssertPos x)
instance (IntegerT x, IsNegative x ~ True) => NegativeT x
instance (IntegerT x, IsPositive x ~ True) => PositiveT x
instance (IntegerT x, IsNatural x ~ True) => NaturalT x
instance (Show ds, Show d) => Show (ds :. d)
module Types.Data.Num.Decimal.Literals
type DecPos1 p0 = Dec (DecN :. p0)
type DecPos2 p1 p0 = Dec ((DecN :. p1) :. p0)
type DecPos3 p2 p1 p0 = Dec (((DecN :. p2) :. p1) :. p0)
type DecPos4 p3 p2 p1 p0 = Dec ((((DecN :. p3) :. p2) :. p1) :. p0)
type DecPos5 p4 p3 p2 p1 p0 = Dec (((((DecN :. p4) :. p3) :. p2) :. p1) :. p0)
type DecPos6 p5 p4 p3 p2 p1 p0 = Dec ((((((DecN :. p5) :. p4) :. p3) :. p2) :. p1) :. p0)
type DecPos7 p6 p5 p4 p3 p2 p1 p0 = Dec (((((((DecN :. p6) :. p5) :. p4) :. p3) :. p2) :. p1) :. p0)
type DecNeg n = Dec (Neg' n)
type DecNeg1 p0 = DecNeg (DecN :. p0)
type DecNeg2 p1 p0 = DecNeg ((DecN :. p1) :. p0)
type DecNeg3 p2 p1 p0 = DecNeg (((DecN :. p2) :. p1) :. p0)
type DecNeg4 p3 p2 p1 p0 = DecNeg ((((DecN :. p3) :. p2) :. p1) :. p0)
type DecNeg5 p4 p3 p2 p1 p0 = DecNeg (((((DecN :. p4) :. p3) :. p2) :. p1) :. p0)
type DecNeg6 p5 p4 p3 p2 p1 p0 = DecNeg ((((((DecN :. p5) :. p4) :. p3) :. p2) :. p1) :. p0)
type DecNeg7 p6 p5 p4 p3 p2 p1 p0 = DecNeg (((((((DecN :. p6) :. p5) :. p4) :. p3) :. p2) :. p1) :. p0)
type D0 = Dec DecN
type D1 = DecPos1 Dec1
type D2 = DecPos1 Dec2
type D3 = DecPos1 Dec3
type D4 = DecPos1 Dec4
type D5 = DecPos1 Dec5
type D6 = DecPos1 Dec6
type D7 = DecPos1 Dec7
type D8 = DecPos1 Dec8
type D9 = DecPos1 Dec9
type D10 = DecPos2 Dec1 Dec0
type D11 = DecPos2 Dec1 Dec1
type D12 = DecPos2 Dec1 Dec2
type D13 = DecPos2 Dec1 Dec3
type D14 = DecPos2 Dec1 Dec4
type D15 = DecPos2 Dec1 Dec5
type D16 = DecPos2 Dec1 Dec6
type D17 = DecPos2 Dec1 Dec7
type D18 = DecPos2 Dec1 Dec8
type D19 = DecPos2 Dec1 Dec9
type D20 = DecPos2 Dec2 Dec0
type D21 = DecPos2 Dec2 Dec1
type D22 = DecPos2 Dec2 Dec2
type D23 = DecPos2 Dec2 Dec3
type D24 = DecPos2 Dec2 Dec4
type D25 = DecPos2 Dec2 Dec5
type D26 = DecPos2 Dec2 Dec6
type D27 = DecPos2 Dec2 Dec7
type D28 = DecPos2 Dec2 Dec8
type D29 = DecPos2 Dec2 Dec9
type D30 = DecPos2 Dec3 Dec0
type D31 = DecPos2 Dec3 Dec1
type D32 = DecPos2 Dec3 Dec2
type D33 = DecPos2 Dec3 Dec3
type D34 = DecPos2 Dec3 Dec4
type D35 = DecPos2 Dec3 Dec5
type D36 = DecPos2 Dec3 Dec6
type D37 = DecPos2 Dec3 Dec7
type D38 = DecPos2 Dec3 Dec8
type D39 = DecPos2 Dec3 Dec9
type D40 = DecPos2 Dec4 Dec0
type D41 = DecPos2 Dec4 Dec1
type D42 = DecPos2 Dec4 Dec2
type D43 = DecPos2 Dec4 Dec3
type D44 = DecPos2 Dec4 Dec4
type D45 = DecPos2 Dec4 Dec5
type D46 = DecPos2 Dec4 Dec6
type D47 = DecPos2 Dec4 Dec7
type D48 = DecPos2 Dec4 Dec8
type D49 = DecPos2 Dec4 Dec9
type D50 = DecPos2 Dec5 Dec0
type D51 = DecPos2 Dec5 Dec1
type D52 = DecPos2 Dec5 Dec2
type D53 = DecPos2 Dec5 Dec3
type D54 = DecPos2 Dec5 Dec4
type D55 = DecPos2 Dec5 Dec5
type D56 = DecPos2 Dec5 Dec6
type D57 = DecPos2 Dec5 Dec7
type D58 = DecPos2 Dec5 Dec8
type D59 = DecPos2 Dec5 Dec9
type D60 = DecPos2 Dec6 Dec0
type D61 = DecPos2 Dec6 Dec1
type D62 = DecPos2 Dec6 Dec2
type D63 = DecPos2 Dec6 Dec3
type D64 = DecPos2 Dec6 Dec4
type D65 = DecPos2 Dec6 Dec5
type D66 = DecPos2 Dec6 Dec6
type D67 = DecPos2 Dec6 Dec7
type D68 = DecPos2 Dec6 Dec8
type D69 = DecPos2 Dec6 Dec9
type D70 = DecPos2 Dec7 Dec0
type D71 = DecPos2 Dec7 Dec1
type D72 = DecPos2 Dec7 Dec2
type D73 = DecPos2 Dec7 Dec3
type D74 = DecPos2 Dec7 Dec4
type D75 = DecPos2 Dec7 Dec5
type D76 = DecPos2 Dec7 Dec6
type D77 = DecPos2 Dec7 Dec7
type D78 = DecPos2 Dec7 Dec8
type D79 = DecPos2 Dec7 Dec9
type D80 = DecPos2 Dec8 Dec0
type D81 = DecPos2 Dec8 Dec1
type D82 = DecPos2 Dec8 Dec2
type D83 = DecPos2 Dec8 Dec3
type D84 = DecPos2 Dec8 Dec4
type D85 = DecPos2 Dec8 Dec5
type D86 = DecPos2 Dec8 Dec6
type D87 = DecPos2 Dec8 Dec7
type D88 = DecPos2 Dec8 Dec8
type D89 = DecPos2 Dec8 Dec9
type D90 = DecPos2 Dec9 Dec0
type D91 = DecPos2 Dec9 Dec1
type D92 = DecPos2 Dec9 Dec2
type D93 = DecPos2 Dec9 Dec3
type D94 = DecPos2 Dec9 Dec4
type D95 = DecPos2 Dec9 Dec5
type D96 = DecPos2 Dec9 Dec6
type D97 = DecPos2 Dec9 Dec7
type D98 = DecPos2 Dec9 Dec8
type D99 = DecPos2 Dec9 Dec9
type D100 = DecPos3 Dec1 Dec0 Dec0
type D101 = DecPos3 Dec1 Dec0 Dec1
type D102 = DecPos3 Dec1 Dec0 Dec2
type D103 = DecPos3 Dec1 Dec0 Dec3
type D104 = DecPos3 Dec1 Dec0 Dec4
type D105 = DecPos3 Dec1 Dec0 Dec5
type D106 = DecPos3 Dec1 Dec0 Dec6
type D107 = DecPos3 Dec1 Dec0 Dec7
type D108 = DecPos3 Dec1 Dec0 Dec8
type D109 = DecPos3 Dec1 Dec0 Dec9
type D110 = DecPos3 Dec1 Dec1 Dec0
type D111 = DecPos3 Dec1 Dec1 Dec1
type D112 = DecPos3 Dec1 Dec1 Dec2
type D113 = DecPos3 Dec1 Dec1 Dec3
type D114 = DecPos3 Dec1 Dec1 Dec4
type D115 = DecPos3 Dec1 Dec1 Dec5
type D116 = DecPos3 Dec1 Dec1 Dec6
type D117 = DecPos3 Dec1 Dec1 Dec7
type D118 = DecPos3 Dec1 Dec1 Dec8
type D119 = DecPos3 Dec1 Dec1 Dec9
type D120 = DecPos3 Dec1 Dec2 Dec0
type D121 = DecPos3 Dec1 Dec2 Dec1
type D122 = DecPos3 Dec1 Dec2 Dec2
type D123 = DecPos3 Dec1 Dec2 Dec3
type D124 = DecPos3 Dec1 Dec2 Dec4
type D125 = DecPos3 Dec1 Dec2 Dec5
type D126 = DecPos3 Dec1 Dec2 Dec6
type D127 = DecPos3 Dec1 Dec2 Dec7
type D128 = DecPos3 Dec1 Dec2 Dec8
type D129 = DecPos3 Dec1 Dec2 Dec9
type D130 = DecPos3 Dec1 Dec3 Dec0
type D131 = DecPos3 Dec1 Dec3 Dec1
type D132 = DecPos3 Dec1 Dec3 Dec2
type D133 = DecPos3 Dec1 Dec3 Dec3
type D134 = DecPos3 Dec1 Dec3 Dec4
type D135 = DecPos3 Dec1 Dec3 Dec5
type D136 = DecPos3 Dec1 Dec3 Dec6
type D137 = DecPos3 Dec1 Dec3 Dec7
type D138 = DecPos3 Dec1 Dec3 Dec8
type D139 = DecPos3 Dec1 Dec3 Dec9
type D140 = DecPos3 Dec1 Dec4 Dec0
type D141 = DecPos3 Dec1 Dec4 Dec1
type D142 = DecPos3 Dec1 Dec4 Dec2
type D143 = DecPos3 Dec1 Dec4 Dec3
type D144 = DecPos3 Dec1 Dec4 Dec4
type D145 = DecPos3 Dec1 Dec4 Dec5
type D146 = DecPos3 Dec1 Dec4 Dec6
type D147 = DecPos3 Dec1 Dec4 Dec7
type D148 = DecPos3 Dec1 Dec4 Dec8
type D149 = DecPos3 Dec1 Dec4 Dec9
type D150 = DecPos3 Dec1 Dec5 Dec0
type D151 = DecPos3 Dec1 Dec5 Dec1
type D152 = DecPos3 Dec1 Dec5 Dec2
type D153 = DecPos3 Dec1 Dec5 Dec3
type D154 = DecPos3 Dec1 Dec5 Dec4
type D155 = DecPos3 Dec1 Dec5 Dec5
type D156 = DecPos3 Dec1 Dec5 Dec6
type D157 = DecPos3 Dec1 Dec5 Dec7
type D158 = DecPos3 Dec1 Dec5 Dec8
type D159 = DecPos3 Dec1 Dec5 Dec9
type D160 = DecPos3 Dec1 Dec6 Dec0
type D161 = DecPos3 Dec1 Dec6 Dec1
type D162 = DecPos3 Dec1 Dec6 Dec2
type D163 = DecPos3 Dec1 Dec6 Dec3
type D164 = DecPos3 Dec1 Dec6 Dec4
type D165 = DecPos3 Dec1 Dec6 Dec5
type D166 = DecPos3 Dec1 Dec6 Dec6
type D167 = DecPos3 Dec1 Dec6 Dec7
type D168 = DecPos3 Dec1 Dec6 Dec8
type D169 = DecPos3 Dec1 Dec6 Dec9
type D170 = DecPos3 Dec1 Dec7 Dec0
type D171 = DecPos3 Dec1 Dec7 Dec1
type D172 = DecPos3 Dec1 Dec7 Dec2
type D173 = DecPos3 Dec1 Dec7 Dec3
type D174 = DecPos3 Dec1 Dec7 Dec4
type D175 = DecPos3 Dec1 Dec7 Dec5
type D176 = DecPos3 Dec1 Dec7 Dec6
type D177 = DecPos3 Dec1 Dec7 Dec7
type D178 = DecPos3 Dec1 Dec7 Dec8
type D179 = DecPos3 Dec1 Dec7 Dec9
type D180 = DecPos3 Dec1 Dec8 Dec0
type D181 = DecPos3 Dec1 Dec8 Dec1
type D182 = DecPos3 Dec1 Dec8 Dec2
type D183 = DecPos3 Dec1 Dec8 Dec3
type D184 = DecPos3 Dec1 Dec8 Dec4
type D185 = DecPos3 Dec1 Dec8 Dec5
type D186 = DecPos3 Dec1 Dec8 Dec6
type D187 = DecPos3 Dec1 Dec8 Dec7
type D188 = DecPos3 Dec1 Dec8 Dec8
type D189 = DecPos3 Dec1 Dec8 Dec9
type D190 = DecPos3 Dec1 Dec9 Dec0
type D191 = DecPos3 Dec1 Dec9 Dec1
type D192 = DecPos3 Dec1 Dec9 Dec2
type D193 = DecPos3 Dec1 Dec9 Dec3
type D194 = DecPos3 Dec1 Dec9 Dec4
type D195 = DecPos3 Dec1 Dec9 Dec5
type D196 = DecPos3 Dec1 Dec9 Dec6
type D197 = DecPos3 Dec1 Dec9 Dec7
type D198 = DecPos3 Dec1 Dec9 Dec8
type D199 = DecPos3 Dec1 Dec9 Dec9
type D200 = DecPos3 Dec2 Dec0 Dec0
type D201 = DecPos3 Dec2 Dec0 Dec1
type D202 = DecPos3 Dec2 Dec0 Dec2
type D203 = DecPos3 Dec2 Dec0 Dec3
type D204 = DecPos3 Dec2 Dec0 Dec4
type D205 = DecPos3 Dec2 Dec0 Dec5
type D206 = DecPos3 Dec2 Dec0 Dec6
type D207 = DecPos3 Dec2 Dec0 Dec7
type D208 = DecPos3 Dec2 Dec0 Dec8
type D209 = DecPos3 Dec2 Dec0 Dec9
type D210 = DecPos3 Dec2 Dec1 Dec0
type D211 = DecPos3 Dec2 Dec1 Dec1
type D212 = DecPos3 Dec2 Dec1 Dec2
type D213 = DecPos3 Dec2 Dec1 Dec3
type D214 = DecPos3 Dec2 Dec1 Dec4
type D215 = DecPos3 Dec2 Dec1 Dec5
type D216 = DecPos3 Dec2 Dec1 Dec6
type D217 = DecPos3 Dec2 Dec1 Dec7
type D218 = DecPos3 Dec2 Dec1 Dec8
type D219 = DecPos3 Dec2 Dec1 Dec9
type D220 = DecPos3 Dec2 Dec2 Dec0
type D221 = DecPos3 Dec2 Dec2 Dec1
type D222 = DecPos3 Dec2 Dec2 Dec2
type D223 = DecPos3 Dec2 Dec2 Dec3
type D224 = DecPos3 Dec2 Dec2 Dec4
type D225 = DecPos3 Dec2 Dec2 Dec5
type D226 = DecPos3 Dec2 Dec2 Dec6
type D227 = DecPos3 Dec2 Dec2 Dec7
type D228 = DecPos3 Dec2 Dec2 Dec8
type D229 = DecPos3 Dec2 Dec2 Dec9
type D230 = DecPos3 Dec2 Dec3 Dec0
type D231 = DecPos3 Dec2 Dec3 Dec1
type D232 = DecPos3 Dec2 Dec3 Dec2
type D233 = DecPos3 Dec2 Dec3 Dec3
type D234 = DecPos3 Dec2 Dec3 Dec4
type D235 = DecPos3 Dec2 Dec3 Dec5
type D236 = DecPos3 Dec2 Dec3 Dec6
type D237 = DecPos3 Dec2 Dec3 Dec7
type D238 = DecPos3 Dec2 Dec3 Dec8
type D239 = DecPos3 Dec2 Dec3 Dec9
type D240 = DecPos3 Dec2 Dec4 Dec0
type D241 = DecPos3 Dec2 Dec4 Dec1
type D242 = DecPos3 Dec2 Dec4 Dec2
type D243 = DecPos3 Dec2 Dec4 Dec3
type D244 = DecPos3 Dec2 Dec4 Dec4
type D245 = DecPos3 Dec2 Dec4 Dec5
type D246 = DecPos3 Dec2 Dec4 Dec6
type D247 = DecPos3 Dec2 Dec4 Dec7
type D248 = DecPos3 Dec2 Dec4 Dec8
type D249 = DecPos3 Dec2 Dec4 Dec9
type D250 = DecPos3 Dec2 Dec5 Dec0
type D251 = DecPos3 Dec2 Dec5 Dec1
type D252 = DecPos3 Dec2 Dec5 Dec2
type D253 = DecPos3 Dec2 Dec5 Dec3
type D254 = DecPos3 Dec2 Dec5 Dec4
type D255 = DecPos3 Dec2 Dec5 Dec5
type D256 = DecPos3 Dec2 Dec5 Dec6
type DN1 = DecNeg1 Dec1
type DN2 = DecNeg1 Dec2
type DN3 = DecNeg1 Dec3
type DN4 = DecNeg1 Dec4
type DN5 = DecNeg1 Dec5
type DN6 = DecNeg1 Dec6
type DN7 = DecNeg1 Dec7
type DN8 = DecNeg1 Dec8
type DN9 = DecNeg1 Dec9
type DN10 = DecNeg2 Dec1 Dec0
type DN11 = DecNeg2 Dec1 Dec1
type DN12 = DecNeg2 Dec1 Dec2
type DN13 = DecNeg2 Dec1 Dec3
type DN14 = DecNeg2 Dec1 Dec4
type DN15 = DecNeg2 Dec1 Dec5
type DN16 = DecNeg2 Dec1 Dec6
type DN17 = DecNeg2 Dec1 Dec7
type DN18 = DecNeg2 Dec1 Dec8
type DN19 = DecNeg2 Dec1 Dec9
type DN20 = DecNeg2 Dec2 Dec0
type DN21 = DecNeg2 Dec2 Dec1
type DN22 = DecNeg2 Dec2 Dec2
type DN23 = DecNeg2 Dec2 Dec3
type DN24 = DecNeg2 Dec2 Dec4
type DN25 = DecNeg2 Dec2 Dec5
type DN26 = DecNeg2 Dec2 Dec6
type DN27 = DecNeg2 Dec2 Dec7
type DN28 = DecNeg2 Dec2 Dec8
type DN29 = DecNeg2 Dec2 Dec9
type DN30 = DecNeg2 Dec3 Dec0
type DN31 = DecNeg2 Dec3 Dec1
type DN32 = DecNeg2 Dec3 Dec2
type DN33 = DecNeg2 Dec3 Dec3
type DN34 = DecNeg2 Dec3 Dec4
type DN35 = DecNeg2 Dec3 Dec5
type DN36 = DecNeg2 Dec3 Dec6
type DN37 = DecNeg2 Dec3 Dec7
type DN38 = DecNeg2 Dec3 Dec8
type DN39 = DecNeg2 Dec3 Dec9
type DN40 = DecNeg2 Dec4 Dec0
type DN41 = DecNeg2 Dec4 Dec1
type DN42 = DecNeg2 Dec4 Dec2
type DN43 = DecNeg2 Dec4 Dec3
type DN44 = DecNeg2 Dec4 Dec4
type DN45 = DecNeg2 Dec4 Dec5
type DN46 = DecNeg2 Dec4 Dec6
type DN47 = DecNeg2 Dec4 Dec7
type DN48 = DecNeg2 Dec4 Dec8
type DN49 = DecNeg2 Dec4 Dec9
type DN50 = DecNeg2 Dec5 Dec0
type DN51 = DecNeg2 Dec5 Dec1
type DN52 = DecNeg2 Dec5 Dec2
type DN53 = DecNeg2 Dec5 Dec3
type DN54 = DecNeg2 Dec5 Dec4
type DN55 = DecNeg2 Dec5 Dec5
type DN56 = DecNeg2 Dec5 Dec6
type DN57 = DecNeg2 Dec5 Dec7
type DN58 = DecNeg2 Dec5 Dec8
type DN59 = DecNeg2 Dec5 Dec9
type DN60 = DecNeg2 Dec6 Dec0
type DN61 = DecNeg2 Dec6 Dec1
type DN62 = DecNeg2 Dec6 Dec2
type DN63 = DecNeg2 Dec6 Dec3
type DN64 = DecNeg2 Dec6 Dec4
type DN65 = DecNeg2 Dec6 Dec5
type DN66 = DecNeg2 Dec6 Dec6
type DN67 = DecNeg2 Dec6 Dec7
type DN68 = DecNeg2 Dec6 Dec8
type DN69 = DecNeg2 Dec6 Dec9
type DN70 = DecNeg2 Dec7 Dec0
type DN71 = DecNeg2 Dec7 Dec1
type DN72 = DecNeg2 Dec7 Dec2
type DN73 = DecNeg2 Dec7 Dec3
type DN74 = DecNeg2 Dec7 Dec4
type DN75 = DecNeg2 Dec7 Dec5
type DN76 = DecNeg2 Dec7 Dec6
type DN77 = DecNeg2 Dec7 Dec7
type DN78 = DecNeg2 Dec7 Dec8
type DN79 = DecNeg2 Dec7 Dec9
type DN80 = DecNeg2 Dec8 Dec0
type DN81 = DecNeg2 Dec8 Dec1
type DN82 = DecNeg2 Dec8 Dec2
type DN83 = DecNeg2 Dec8 Dec3
type DN84 = DecNeg2 Dec8 Dec4
type DN85 = DecNeg2 Dec8 Dec5
type DN86 = DecNeg2 Dec8 Dec6
type DN87 = DecNeg2 Dec8 Dec7
type DN88 = DecNeg2 Dec8 Dec8
type DN89 = DecNeg2 Dec8 Dec9
type DN90 = DecNeg2 Dec9 Dec0
type DN91 = DecNeg2 Dec9 Dec1
type DN92 = DecNeg2 Dec9 Dec2
type DN93 = DecNeg2 Dec9 Dec3
type DN94 = DecNeg2 Dec9 Dec4
type DN95 = DecNeg2 Dec9 Dec5
type DN96 = DecNeg2 Dec9 Dec6
type DN97 = DecNeg2 Dec9 Dec7
type DN98 = DecNeg2 Dec9 Dec8
type DN99 = DecNeg2 Dec9 Dec9
type DN100 = DecNeg3 Dec1 Dec0 Dec0
type DN101 = DecNeg3 Dec1 Dec0 Dec1
type DN102 = DecNeg3 Dec1 Dec0 Dec2
type DN103 = DecNeg3 Dec1 Dec0 Dec3
type DN104 = DecNeg3 Dec1 Dec0 Dec4
type DN105 = DecNeg3 Dec1 Dec0 Dec5
type DN106 = DecNeg3 Dec1 Dec0 Dec6
type DN107 = DecNeg3 Dec1 Dec0 Dec7
type DN108 = DecNeg3 Dec1 Dec0 Dec8
type DN109 = DecNeg3 Dec1 Dec0 Dec9
type DN110 = DecNeg3 Dec1 Dec1 Dec0
type DN111 = DecNeg3 Dec1 Dec1 Dec1
type DN112 = DecNeg3 Dec1 Dec1 Dec2
type DN113 = DecNeg3 Dec1 Dec1 Dec3
type DN114 = DecNeg3 Dec1 Dec1 Dec4
type DN115 = DecNeg3 Dec1 Dec1 Dec5
type DN116 = DecNeg3 Dec1 Dec1 Dec6
type DN117 = DecNeg3 Dec1 Dec1 Dec7
type DN118 = DecNeg3 Dec1 Dec1 Dec8
type DN119 = DecNeg3 Dec1 Dec1 Dec9
type DN120 = DecNeg3 Dec1 Dec2 Dec0
type DN121 = DecNeg3 Dec1 Dec2 Dec1
type DN122 = DecNeg3 Dec1 Dec2 Dec2
type DN123 = DecNeg3 Dec1 Dec2 Dec3
type DN124 = DecNeg3 Dec1 Dec2 Dec4
type DN125 = DecNeg3 Dec1 Dec2 Dec5
type DN126 = DecNeg3 Dec1 Dec2 Dec6
type DN127 = DecNeg3 Dec1 Dec2 Dec7
type DN128 = DecNeg3 Dec1 Dec2 Dec8
type DN129 = DecNeg3 Dec1 Dec2 Dec9
type DN130 = DecNeg3 Dec1 Dec3 Dec0
type DN131 = DecNeg3 Dec1 Dec3 Dec1
type DN132 = DecNeg3 Dec1 Dec3 Dec2
type DN133 = DecNeg3 Dec1 Dec3 Dec3
type DN134 = DecNeg3 Dec1 Dec3 Dec4
type DN135 = DecNeg3 Dec1 Dec3 Dec5
type DN136 = DecNeg3 Dec1 Dec3 Dec6
type DN137 = DecNeg3 Dec1 Dec3 Dec7
type DN138 = DecNeg3 Dec1 Dec3 Dec8
type DN139 = DecNeg3 Dec1 Dec3 Dec9
type DN140 = DecNeg3 Dec1 Dec4 Dec0
type DN141 = DecNeg3 Dec1 Dec4 Dec1
type DN142 = DecNeg3 Dec1 Dec4 Dec2
type DN143 = DecNeg3 Dec1 Dec4 Dec3
type DN144 = DecNeg3 Dec1 Dec4 Dec4
type DN145 = DecNeg3 Dec1 Dec4 Dec5
type DN146 = DecNeg3 Dec1 Dec4 Dec6
type DN147 = DecNeg3 Dec1 Dec4 Dec7
type DN148 = DecNeg3 Dec1 Dec4 Dec8
type DN149 = DecNeg3 Dec1 Dec4 Dec9
type DN150 = DecNeg3 Dec1 Dec5 Dec0
type DN151 = DecNeg3 Dec1 Dec5 Dec1
type DN152 = DecNeg3 Dec1 Dec5 Dec2
type DN153 = DecNeg3 Dec1 Dec5 Dec3
type DN154 = DecNeg3 Dec1 Dec5 Dec4
type DN155 = DecNeg3 Dec1 Dec5 Dec5
type DN156 = DecNeg3 Dec1 Dec5 Dec6
type DN157 = DecNeg3 Dec1 Dec5 Dec7
type DN158 = DecNeg3 Dec1 Dec5 Dec8
type DN159 = DecNeg3 Dec1 Dec5 Dec9
type DN160 = DecNeg3 Dec1 Dec6 Dec0
type DN161 = DecNeg3 Dec1 Dec6 Dec1
type DN162 = DecNeg3 Dec1 Dec6 Dec2
type DN163 = DecNeg3 Dec1 Dec6 Dec3
type DN164 = DecNeg3 Dec1 Dec6 Dec4
type DN165 = DecNeg3 Dec1 Dec6 Dec5
type DN166 = DecNeg3 Dec1 Dec6 Dec6
type DN167 = DecNeg3 Dec1 Dec6 Dec7
type DN168 = DecNeg3 Dec1 Dec6 Dec8
type DN169 = DecNeg3 Dec1 Dec6 Dec9
type DN170 = DecNeg3 Dec1 Dec7 Dec0
type DN171 = DecNeg3 Dec1 Dec7 Dec1
type DN172 = DecNeg3 Dec1 Dec7 Dec2
type DN173 = DecNeg3 Dec1 Dec7 Dec3
type DN174 = DecNeg3 Dec1 Dec7 Dec4
type DN175 = DecNeg3 Dec1 Dec7 Dec5
type DN176 = DecNeg3 Dec1 Dec7 Dec6
type DN177 = DecNeg3 Dec1 Dec7 Dec7
type DN178 = DecNeg3 Dec1 Dec7 Dec8
type DN179 = DecNeg3 Dec1 Dec7 Dec9
type DN180 = DecNeg3 Dec1 Dec8 Dec0
type DN181 = DecNeg3 Dec1 Dec8 Dec1
type DN182 = DecNeg3 Dec1 Dec8 Dec2
type DN183 = DecNeg3 Dec1 Dec8 Dec3
type DN184 = DecNeg3 Dec1 Dec8 Dec4
type DN185 = DecNeg3 Dec1 Dec8 Dec5
type DN186 = DecNeg3 Dec1 Dec8 Dec6
type DN187 = DecNeg3 Dec1 Dec8 Dec7
type DN188 = DecNeg3 Dec1 Dec8 Dec8
type DN189 = DecNeg3 Dec1 Dec8 Dec9
type DN190 = DecNeg3 Dec1 Dec9 Dec0
type DN191 = DecNeg3 Dec1 Dec9 Dec1
type DN192 = DecNeg3 Dec1 Dec9 Dec2
type DN193 = DecNeg3 Dec1 Dec9 Dec3
type DN194 = DecNeg3 Dec1 Dec9 Dec4
type DN195 = DecNeg3 Dec1 Dec9 Dec5
type DN196 = DecNeg3 Dec1 Dec9 Dec6
type DN197 = DecNeg3 Dec1 Dec9 Dec7
type DN198 = DecNeg3 Dec1 Dec9 Dec8
type DN199 = DecNeg3 Dec1 Dec9 Dec9
type DN200 = DecNeg3 Dec2 Dec0 Dec0
type DN201 = DecNeg3 Dec2 Dec0 Dec1
type DN202 = DecNeg3 Dec2 Dec0 Dec2
type DN203 = DecNeg3 Dec2 Dec0 Dec3
type DN204 = DecNeg3 Dec2 Dec0 Dec4
type DN205 = DecNeg3 Dec2 Dec0 Dec5
type DN206 = DecNeg3 Dec2 Dec0 Dec6
type DN207 = DecNeg3 Dec2 Dec0 Dec7
type DN208 = DecNeg3 Dec2 Dec0 Dec8
type DN209 = DecNeg3 Dec2 Dec0 Dec9
type DN210 = DecNeg3 Dec2 Dec1 Dec0
type DN211 = DecNeg3 Dec2 Dec1 Dec1
type DN212 = DecNeg3 Dec2 Dec1 Dec2
type DN213 = DecNeg3 Dec2 Dec1 Dec3
type DN214 = DecNeg3 Dec2 Dec1 Dec4
type DN215 = DecNeg3 Dec2 Dec1 Dec5
type DN216 = DecNeg3 Dec2 Dec1 Dec6
type DN217 = DecNeg3 Dec2 Dec1 Dec7
type DN218 = DecNeg3 Dec2 Dec1 Dec8
type DN219 = DecNeg3 Dec2 Dec1 Dec9
type DN220 = DecNeg3 Dec2 Dec2 Dec0
type DN221 = DecNeg3 Dec2 Dec2 Dec1
type DN222 = DecNeg3 Dec2 Dec2 Dec2
type DN223 = DecNeg3 Dec2 Dec2 Dec3
type DN224 = DecNeg3 Dec2 Dec2 Dec4
type DN225 = DecNeg3 Dec2 Dec2 Dec5
type DN226 = DecNeg3 Dec2 Dec2 Dec6
type DN227 = DecNeg3 Dec2 Dec2 Dec7
type DN228 = DecNeg3 Dec2 Dec2 Dec8
type DN229 = DecNeg3 Dec2 Dec2 Dec9
type DN230 = DecNeg3 Dec2 Dec3 Dec0
type DN231 = DecNeg3 Dec2 Dec3 Dec1
type DN232 = DecNeg3 Dec2 Dec3 Dec2
type DN233 = DecNeg3 Dec2 Dec3 Dec3
type DN234 = DecNeg3 Dec2 Dec3 Dec4
type DN235 = DecNeg3 Dec2 Dec3 Dec5
type DN236 = DecNeg3 Dec2 Dec3 Dec6
type DN237 = DecNeg3 Dec2 Dec3 Dec7
type DN238 = DecNeg3 Dec2 Dec3 Dec8
type DN239 = DecNeg3 Dec2 Dec3 Dec9
type DN240 = DecNeg3 Dec2 Dec4 Dec0
type DN241 = DecNeg3 Dec2 Dec4 Dec1
type DN242 = DecNeg3 Dec2 Dec4 Dec2
type DN243 = DecNeg3 Dec2 Dec4 Dec3
type DN244 = DecNeg3 Dec2 Dec4 Dec4
type DN245 = DecNeg3 Dec2 Dec4 Dec5
type DN246 = DecNeg3 Dec2 Dec4 Dec6
type DN247 = DecNeg3 Dec2 Dec4 Dec7
type DN248 = DecNeg3 Dec2 Dec4 Dec8
type DN249 = DecNeg3 Dec2 Dec4 Dec9
type DN250 = DecNeg3 Dec2 Dec5 Dec0
type DN251 = DecNeg3 Dec2 Dec5 Dec1
type DN252 = DecNeg3 Dec2 Dec5 Dec2
type DN253 = DecNeg3 Dec2 Dec5 Dec3
type DN254 = DecNeg3 Dec2 Dec5 Dec4
type DN255 = DecNeg3 Dec2 Dec5 Dec5
type DN256 = DecNeg3 Dec2 Dec5 Dec6
d0 :: D0
d1 :: D1
d2 :: D2
d3 :: D3
d4 :: D4
d5 :: D5
d6 :: D6
d7 :: D7
d8 :: D8
d9 :: D9
d10 :: D10
d11 :: D11
d12 :: D12
d13 :: D13
d14 :: D14
d15 :: D15
d16 :: D16
d17 :: D17
d18 :: D18
d19 :: D19
d20 :: D20
d21 :: D21
d22 :: D22
d23 :: D23
d24 :: D24
d25 :: D25
d26 :: D26
d27 :: D27
d28 :: D28
d29 :: D29
d30 :: D30
d31 :: D31
d32 :: D32
d33 :: D33
d34 :: D34
d35 :: D35
d36 :: D36
d37 :: D37
d38 :: D38
d39 :: D39
d40 :: D40
d41 :: D41
d42 :: D42
d43 :: D43
d44 :: D44
d45 :: D45
d46 :: D46
d47 :: D47
d48 :: D48
d49 :: D49
d50 :: D50
d51 :: D51
d52 :: D52
d53 :: D53
d54 :: D54
d55 :: D55
d56 :: D56
d57 :: D57
d58 :: D58
d59 :: D59
d60 :: D60
d61 :: D61
d62 :: D62
d63 :: D63
d64 :: D64
d65 :: D65
d66 :: D66
d67 :: D67
d68 :: D68
d69 :: D69
d70 :: D70
d71 :: D71
d72 :: D72
d73 :: D73
d74 :: D74
d75 :: D75
d76 :: D76
d77 :: D77
d78 :: D78
d79 :: D79
d80 :: D80
d81 :: D81
d82 :: D82
d83 :: D83
d84 :: D84
d85 :: D85
d86 :: D86
d87 :: D87
d88 :: D88
d89 :: D89
d90 :: D90
d91 :: D91
d92 :: D92
d93 :: D93
d94 :: D94
d95 :: D95
d96 :: D96
d97 :: D97
d98 :: D98
d99 :: D99
d100 :: D100
d101 :: D101
d102 :: D102
d103 :: D103
d104 :: D104
d105 :: D105
d106 :: D106
d107 :: D107
d108 :: D108
d109 :: D109
d110 :: D110
d111 :: D111
d112 :: D112
d113 :: D113
d114 :: D114
d115 :: D115
d116 :: D116
d117 :: D117
d118 :: D118
d119 :: D119
d120 :: D120
d121 :: D121
d122 :: D122
d123 :: D123
d124 :: D124
d125 :: D125
d126 :: D126
d127 :: D127
d128 :: D128
d129 :: D129
d130 :: D130
d131 :: D131
d132 :: D132
d133 :: D133
d134 :: D134
d135 :: D135
d136 :: D136
d137 :: D137
d138 :: D138
d139 :: D139
d140 :: D140
d141 :: D141
d142 :: D142
d143 :: D143
d144 :: D144
d145 :: D145
d146 :: D146
d147 :: D147
d148 :: D148
d149 :: D149
d150 :: D150
d151 :: D151
d152 :: D152
d153 :: D153
d154 :: D154
d155 :: D155
d156 :: D156
d157 :: D157
d158 :: D158
d159 :: D159
d160 :: D160
d161 :: D161
d162 :: D162
d163 :: D163
d164 :: D164
d165 :: D165
d166 :: D166
d167 :: D167
d168 :: D168
d169 :: D169
d170 :: D170
d171 :: D171
d172 :: D172
d173 :: D173
d174 :: D174
d175 :: D175
d176 :: D176
d177 :: D177
d178 :: D178
d179 :: D179
d180 :: D180
d181 :: D181
d182 :: D182
d183 :: D183
d184 :: D184
d185 :: D185
d186 :: D186
d187 :: D187
d188 :: D188
d189 :: D189
d190 :: D190
d191 :: D191
d192 :: D192
d193 :: D193
d194 :: D194
d195 :: D195
d196 :: D196
d197 :: D197
d198 :: D198
d199 :: D199
d200 :: D200
d201 :: D201
d202 :: D202
d203 :: D203
d204 :: D204
d205 :: D205
d206 :: D206
d207 :: D207
d208 :: D208
d209 :: D209
d210 :: D210
d211 :: D211
d212 :: D212
d213 :: D213
d214 :: D214
d215 :: D215
d216 :: D216
d217 :: D217
d218 :: D218
d219 :: D219
d220 :: D220
d221 :: D221
d222 :: D222
d223 :: D223
d224 :: D224
d225 :: D225
d226 :: D226
d227 :: D227
d228 :: D228
d229 :: D229
d230 :: D230
d231 :: D231
d232 :: D232
d233 :: D233
d234 :: D234
d235 :: D235
d236 :: D236
d237 :: D237
d238 :: D238
d239 :: D239
d240 :: D240
d241 :: D241
d242 :: D242
d243 :: D243
d244 :: D244
d245 :: D245
d246 :: D246
d247 :: D247
d248 :: D248
d249 :: D249
d250 :: D250
d251 :: D251
d252 :: D252
d253 :: D253
d254 :: D254
d255 :: D255
d256 :: D256
dn1 :: DN1
dn2 :: DN2
dn3 :: DN3
dn4 :: DN4
dn5 :: DN5
dn6 :: DN6
dn7 :: DN7
dn8 :: DN8
dn9 :: DN9
dn10 :: DN10
dn11 :: DN11
dn12 :: DN12
dn13 :: DN13
dn14 :: DN14
dn15 :: DN15
dn16 :: DN16
dn17 :: DN17
dn18 :: DN18
dn19 :: DN19
dn20 :: DN20
dn21 :: DN21
dn22 :: DN22
dn23 :: DN23
dn24 :: DN24
dn25 :: DN25
dn26 :: DN26
dn27 :: DN27
dn28 :: DN28
dn29 :: DN29
dn30 :: DN30
dn31 :: DN31
dn32 :: DN32
dn33 :: DN33
dn34 :: DN34
dn35 :: DN35
dn36 :: DN36
dn37 :: DN37
dn38 :: DN38
dn39 :: DN39
dn40 :: DN40
dn41 :: DN41
dn42 :: DN42
dn43 :: DN43
dn44 :: DN44
dn45 :: DN45
dn46 :: DN46
dn47 :: DN47
dn48 :: DN48
dn49 :: DN49
dn50 :: DN50
dn51 :: DN51
dn52 :: DN52
dn53 :: DN53
dn54 :: DN54
dn55 :: DN55
dn56 :: DN56
dn57 :: DN57
dn58 :: DN58
dn59 :: DN59
dn60 :: DN60
dn61 :: DN61
dn62 :: DN62
dn63 :: DN63
dn64 :: DN64
dn65 :: DN65
dn66 :: DN66
dn67 :: DN67
dn68 :: DN68
dn69 :: DN69
dn70 :: DN70
dn71 :: DN71
dn72 :: DN72
dn73 :: DN73
dn74 :: DN74
dn75 :: DN75
dn76 :: DN76
dn77 :: DN77
dn78 :: DN78
dn79 :: DN79
dn80 :: DN80
dn81 :: DN81
dn82 :: DN82
dn83 :: DN83
dn84 :: DN84
dn85 :: DN85
dn86 :: DN86
dn87 :: DN87
dn88 :: DN88
dn89 :: DN89
dn90 :: DN90
dn91 :: DN91
dn92 :: DN92
dn93 :: DN93
dn94 :: DN94
dn95 :: DN95
dn96 :: DN96
dn97 :: DN97
dn98 :: DN98
dn99 :: DN99
dn100 :: DN100
dn101 :: DN101
dn102 :: DN102
dn103 :: DN103
dn104 :: DN104
dn105 :: DN105
dn106 :: DN106
dn107 :: DN107
dn108 :: DN108
dn109 :: DN109
dn110 :: DN110
dn111 :: DN111
dn112 :: DN112
dn113 :: DN113
dn114 :: DN114
dn115 :: DN115
dn116 :: DN116
dn117 :: DN117
dn118 :: DN118
dn119 :: DN119
dn120 :: DN120
dn121 :: DN121
dn122 :: DN122
dn123 :: DN123
dn124 :: DN124
dn125 :: DN125
dn126 :: DN126
dn127 :: DN127
dn128 :: DN128
dn129 :: DN129
dn130 :: DN130
dn131 :: DN131
dn132 :: DN132
dn133 :: DN133
dn134 :: DN134
dn135 :: DN135
dn136 :: DN136
dn137 :: DN137
dn138 :: DN138
dn139 :: DN139
dn140 :: DN140
dn141 :: DN141
dn142 :: DN142
dn143 :: DN143
dn144 :: DN144
dn145 :: DN145
dn146 :: DN146
dn147 :: DN147
dn148 :: DN148
dn149 :: DN149
dn150 :: DN150
dn151 :: DN151
dn152 :: DN152
dn153 :: DN153
dn154 :: DN154
dn155 :: DN155
dn156 :: DN156
dn157 :: DN157
dn158 :: DN158
dn159 :: DN159
dn160 :: DN160
dn161 :: DN161
dn162 :: DN162
dn163 :: DN163
dn164 :: DN164
dn165 :: DN165
dn166 :: DN166
dn167 :: DN167
dn168 :: DN168
dn169 :: DN169
dn170 :: DN170
dn171 :: DN171
dn172 :: DN172
dn173 :: DN173
dn174 :: DN174
dn175 :: DN175
dn176 :: DN176
dn177 :: DN177
dn178 :: DN178
dn179 :: DN179
dn180 :: DN180
dn181 :: DN181
dn182 :: DN182
dn183 :: DN183
dn184 :: DN184
dn185 :: DN185
dn186 :: DN186
dn187 :: DN187
dn188 :: DN188
dn189 :: DN189
dn190 :: DN190
dn191 :: DN191
dn192 :: DN192
dn193 :: DN193
dn194 :: DN194
dn195 :: DN195
dn196 :: DN196
dn197 :: DN197
dn198 :: DN198
dn199 :: DN199
dn200 :: DN200
dn201 :: DN201
dn202 :: DN202
dn203 :: DN203
dn204 :: DN204
dn205 :: DN205
dn206 :: DN206
dn207 :: DN207
dn208 :: DN208
dn209 :: DN209
dn210 :: DN210
dn211 :: DN211
dn212 :: DN212
dn213 :: DN213
dn214 :: DN214
dn215 :: DN215
dn216 :: DN216
dn217 :: DN217
dn218 :: DN218
dn219 :: DN219
dn220 :: DN220
dn221 :: DN221
dn222 :: DN222
dn223 :: DN223
dn224 :: DN224
dn225 :: DN225
dn226 :: DN226
dn227 :: DN227
dn228 :: DN228
dn229 :: DN229
dn230 :: DN230
dn231 :: DN231
dn232 :: DN232
dn233 :: DN233
dn234 :: DN234
dn235 :: DN235
dn236 :: DN236
dn237 :: DN237
dn238 :: DN238
dn239 :: DN239
dn240 :: DN240
dn241 :: DN241
dn242 :: DN242
dn243 :: DN243
dn244 :: DN244
dn245 :: DN245
dn246 :: DN246
dn247 :: DN247
dn248 :: DN248
dn249 :: DN249
dn250 :: DN250
dn251 :: DN251
dn252 :: DN252
dn253 :: DN253
dn254 :: DN254
dn255 :: DN255
dn256 :: DN256
-- | Type-level numerical operations using type families.
module Types.Base
_T :: a
module Types.Data.Num.Decimal
-- | Type-level numerical operations using type families.
module Types.Data.Num
reifyIntegralD :: Integer -> (forall s. (IntegerT s, Repr s ~ Decimal) => s -> a) -> a
reifyPositiveD :: Integer -> (forall s. (PositiveT s, Repr s ~ Decimal) => s -> a) -> Maybe a
reifyNegativeD :: Integer -> (forall s. (NegativeT s, Repr s ~ Decimal) => s -> a) -> Maybe a
reifyNaturalD :: Integer -> (forall s. (NaturalT s, Repr s ~ Decimal) => s -> a) -> Maybe a
module Types
module Data.SizedWord
data SizedWord nT
instance NaturalT nT => Bits (SizedWord nT)
instance NaturalT nT => Integral (SizedWord nT)
instance NaturalT nT => Real (SizedWord nT)
instance NaturalT nT => Num (SizedWord nT)
instance NaturalT nT => Enum (SizedWord nT)
instance NaturalT nT => Bounded (SizedWord nT)
instance NaturalT nT => Ord (SizedWord nT)
instance NaturalT nT => Read (SizedWord nT)
instance NaturalT nT => Show (SizedWord nT)
instance NaturalT nT => Eq (SizedWord nT)
module Data.SizedInt
data SizedInt nT
instance NaturalT nT => Bits (SizedInt nT)
instance NaturalT nT => Integral (SizedInt nT)
instance NaturalT nT => Real (SizedInt nT)
instance NaturalT nT => Num (SizedInt nT)
instance NaturalT nT => Enum (SizedInt nT)
instance NaturalT nT => Bounded (SizedInt nT)
instance NaturalT nT => Ord (SizedInt nT)
instance NaturalT nT => Read (SizedInt nT)
instance NaturalT nT => Show (SizedInt nT)
instance NaturalT nT => Eq (SizedInt nT)