There is a use case of streams that is starting to repeat in my code. Let suposse I have a type T which produces collections at several levels, V1 coll(){} V2 coll(V1 vi){} V3 coll