Check that the first element of `nLefFromThen` fits in the result.

See comment for explanation.
Fix `cryNoInf`: the second argument of `Mod` does not need to be finite.
Adjust `cryDefined` to ensure that first argument fits.
Cosmetics: rewrite using `anyJust`.
Propagate '> 0' through expressions.
Capture some of the invariants for the simplfier.