Make progress in supporting singleton methods, leazy/eager checking, and private interface variables to avoid accidental overwriting by users