Apparently the optimizers [could] assume that a reference type
argument is never NULL.
Is this really correct? If so, this has the potential of simplifying lots of
code in Ada if we use REFERENCE_TYPE for things that can never be null.
The CHAIN pointer of nested functions should also use it for the same reason.