Operations which are undefined mathematically (
0 / 0,
infinity * 0,
infinity - infinity, etc.)
also have undefined results in this implementation.
Shallow deconstruction. Returns the first argument if
Zero, applies the second argument to the inner value if
Returns the first argument if
Zero, applies the second argument recursively for each
Nat from a seed value: the first argument should return the next seed value
if the building is to continue, or
Nothing if it is to stop. A
Succ is added at each iteration.