Distinguishing multiple generics