void (String[] args) { FlatMap<?, Item> flatmap = new FlatMap<>(); Col<String> s1 = new Col<>(); Col<Item> s2 = s1.apply(flatmap.with((String word) -> singletonList(new Item()))); Col<Item> s22 = s1.apply(flatmap.with((word) -> singletonList(new Item()))); }