when we can guarantee that the result is not null, but can't guarantee that it is on the stack.
when we can guarantee that the result is not null, but can't guarantee that it is on the stack.