Tightens up some of the generics handling