Generics: fixed scope stack for methods that return multiple subclass types.
Generics: multiple subclass return needs to take pointer of subclass.