Slight refactoring for instance variable renaming.
Better generic support.

Support overloading non-generic methods and generic methods.
Support overriding generic methods.