Handle case where one generic argument has an upper bound of another generic argument
Add support for method-level generics