Allow arbitrary recursive filter iterator