Object Initialization
new operation at location k
Stores and dups of reference OK,
An initializer for class foo on
Upon return, all instances of
{uninit(foo,k)} are changed to
some stack or local variable
has type {uninit{foo, k)}
a type inconsistency is reported
In init the reference is typed
init function in class foo
Upon return, all instances of
{needs-super} are changed to