make Set support foreach