generator.recursive