handle the case where another cons_page cannot be allocated; return an exception. Which, as we cannot create such an exception when cons space is exhausted, means we must construct it at init time.
where a function is not compiled from source, we could cache the name on the source pointer. Would make stack frames potentially more readable and aid debugging generally.
we ought to handle cons space exhaustion more gracefully than just crashing; should probably return an exception instead, although obviously that exception would have to have been pre-built.
cannot throw an exception out of here, which is a problem if a ratio may legally have zero as a divisor, or something which is not a number is passed in.
cannot throw an exception out of here, which is a problem if a ratio may legally have zero as a divisor, or something which is not a number (or is a big number) is passed in.