def generics