Compose generics