type checking failed for iter
from.go2:24:9: cannot use TransformFunc(A, B)(tr) (value of type TransformFunc(A, B)) as Transform(A, B) value in return statement: wrong type for method Apply (have func(it iter.Iterator(A)) iter.Iterator(B), want func(Iterator A) iter.Iterator(B))
main_test.go2:44:29: cannot use it (variable of type Iterator(int)) as int value in argument
transform.go2:3:60: cannot use MapTransform(A, B)(tr) (value of type MapTransform(A, B)) as Transform(A, B) value in return statement: wrong type for method Apply (have func(it iter.Iterator(A)) iter.Iterator(B), want func(Iterator A) iter.Iterator(B))
transform.go2:4:63: cannot use FilterTransform(A)(tr) (value of type FilterTransform(A)) as Transform(A, A) value in return statement: wrong type for method Apply (have func(it iter.Iterator(A)) iter.Iterator(A), want func(Iterator A) iter.Iterator(A))
transform.go2:5:51: cannot use TakeTransform(A)(n) (value of type TakeTransform(A)) as Transform(A, A) value in return statement: wrong type for method Apply (have func(it iter.Iterator(A)) iter.Iterator(A), want func(Iterator A) iter.Iterator(A))
transform.go2:6:51: cannot use SkipTransform(A)(n) (value of type SkipTransform(A)) as Transform(A, A) value in return statement: wrong type for method Apply (have func(it iter.Iterator(A)) iter.Iterator(A), want func(Iterator A) iter.Iterator(A))
transform.go2:10:19: cannot use it.Iterate() (value of type Iterator(A)) as A value in argument