recursiveForEach + tests.