public static <A> void eachChildRecursive(A a,
			F1<A, Collection<A>> digF,
			P1<A> p1) {
		Collection<A> col = digF.e(a);
		if (col==null) {
			return;
		}
		for (A child : col) {
			p1.e(child);
			eachChildRecursive(child, digF, p1);
		}
	}