Rough support for upper bounds in generics (e.g. Trait<A extends Number>)