Non-local return must not be recorded as the type of the enclosing block (in the example guessClassExpensive answers SmallInteger rather than nil)
Could be implemented by wrapping the evaluation with an assignment and reading the variable rather than relying on the return value, I guess
