add: better support for generics

Hi,

This covers most of generic-related use cases, including 'super'-wildcards, generics as methods params and return type, and bean-classes.