the iterable interface is now typed