-- 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)