I heard you like generics