- data T a = Cons Integer a
- fromNumber :: a -> T a
- toNumber :: C a => T a -> a
- toRootSet :: C a => T a -> T a
- commonDegree :: C a => T a -> T a -> T (a, a)
- mul :: C a => T a -> T a -> T a
- div :: C a => T a -> T a -> T a
- recip :: C a => T a -> T a
- cardinalPower :: C a => Integer -> T a -> T a
- integerPower :: C a => Integer -> T a -> T a
- rationalPower :: C a => Rational -> T a -> T a
- root :: C a => Integer -> T a -> T a
- sqrt :: C a => T a -> T a

# Documentation

The root degree must be positive.
This way we can implement multiplication
using only multiplication from type `a`

.

fromNumber :: a -> T aSource