Add method-type generics and some native types
Add class annotations and 'override'

The annotations are currently ignored in both cases, but are
syntactically permitted.
Add generic resolution to methods and classes