Numeric.NumType

class NumType n

class PosType n

class NegType n

class NonZero n

class Succ a b

class Negate a b

class Sum a b c

class Div a b c

class Mul a b c

toNum

incr

decr

negate

(+)

(-)

(*)

(/)

data Zero

data Pos n

data Neg n

type Pos1

type Pos2

type Pos3

type Pos4

type Pos5

type Neg1

type Neg2

type Neg3

type Neg4

type Neg5

zero

pos1

pos2

pos3

pos4

pos5

neg1

neg2

neg3

neg4

neg5