'%      Safe-Inferred<The class of Peano-like constructions (i.e. Nat and Whole). Test for zero. 1An unobservable infinity. For all finite numbers n,  n < infinityb must hold, but there need not be a total function that tests whether a number is infinite. #Converts the number to an Integer. 2Reduces the absolute value of the number by 1. If isZero n , then  decr n = n and vice versa. Whole numbers (Z). 7Construct a whole number out of a magnitue and a sign. Sign for whole numbers. <Lazy Peano numbers. Allow calculation with infinite values.  Successor Zero  Negation of . Removes at most  k constructors from a Peano number. Outputs the number of removed constructors and the remaining number. .Returns the length of a foldable container as  Y. The number is generated lazily and thus, infinitely large containers are supported. +Since negative numbers are not allowed,  =  and   = !. The methods ,  , , !, " and # will terminate as long as their first argument is finite. Infinities in their second arguments are permitted and are handled as follows:  n  infinity = n  infinity = 0 n   infinity = n ! infinity = nSince $ returns a  Ratio Integer', it WILL NOT terminate on infinities. XThe ordering is the standard total order on Z. Positive and negative zero are equal. <All methods work as long as at least one operand is finite. 1Positive and negative zero are considered equal. % and &1 work as long as at least one operand is finite. #Addition, multiplication, and subtraction are lazy in both arguments, meaning that, in the case of infinite values, they can produce an infinite stream of S-constructors. As long as the callers of these functions only consume a finite amount of these, the program will not hang.  fromInteger is not injective in case of  8, since negative integers are all converted to zero ( ). ' and (A work according to the total order on the whole numbers, i.e.  succ n = n+1 and  pred n = n-1. The ( function is bounded at Zero. /The bounds are negative and positive infinity. 6The lower bound is zero, the upper bound is infinity.         )      ! " # $ % & '()*()+,-,./numericpeano-0.2.0.0 Numeric.PeanoPeanoisZeroinfinity fromPeanodecrWholeSignNegPosNatSZisSucctakeNat natLength $fIntegralNat $fRealNat $fOrdWhole$fOrdNat $fEqWhole$fEqNat $fNumWhole$fNumNat $fEnumWhole $fEnumNat$fBoundedWhole $fBoundedNat $fPeanoWhole $fPeanoNatbaseGHC.RealquotdivremmodquotRemdivMod toRationalghc-prim GHC.Classes==/=GHC.Enumsuccpred