for(Tree tc : t) {
if (tc.head() != null && tc.head() instanceof Functor)
ret.add(((Functor<Iterable<Tree>,Object>)tc.head()).invoke(tc.children()));
for(Tree tc : t) {
if (tc.head() != null && tc.head() instanceof Functor)
ret.add(((Functor<Iterable<Tree>,Object>)tc.head()).invoke(tc.children()));