@@ -142,11 +142,7 @@ static public <A, B, C> F2<Tree<A>, Tree<B>, Tree<C>> treeM(final F2<A, B, C> f)
142142 return new F2 <Tree <A >, Tree <B >, Tree <C >>() {
143143 public Tree <C > f (final Tree <A > as , final Tree <B > bs ) {
144144 final F2 <Tree <A >, Tree <B >, Tree <C >> self = this ;
145- return node (f .f (as .root (), bs .root ()), new P1 <Stream <Tree <C >>>() {
146- public Stream <Tree <C >> _1 () {
147- return streamM (self ).f (as .subForest ()._1 (), bs .subForest ()._1 ());
148- }
149- });
145+ return node (f .f (as .root (), bs .root ()), P .lazy (() -> streamM (self ).f (as .subForest ()._1 (), bs .subForest ()._1 ())));
150146 }
151147 };
152148 }
@@ -217,11 +213,7 @@ static public <A, B, C> F2<Tree<A>, Tree<B>, Tree<C>> zipTreeM(final F2<A, B, C>
217213 return new F2 <Tree <A >, Tree <B >, Tree <C >>() {
218214 public Tree <C > f (final Tree <A > ta , final Tree <B > tb ) {
219215 final F2 <Tree <A >, Tree <B >, Tree <C >> self = this ;
220- return node (f .f (ta .root (), tb .root ()), new P1 <Stream <Tree <C >>>() {
221- public Stream <Tree <C >> _1 () {
222- return zipStreamM (self ).f (ta .subForest ()._1 (), tb .subForest ()._1 ());
223- }
224- });
216+ return node (f .f (ta .root (), tb .root ()), P .lazy (() -> zipStreamM (self ).f (ta .subForest ()._1 (), tb .subForest ()._1 ())));
225217 }
226218 };
227219 }
0 commit comments