this seems wrong; if this implements Iterable, it should be - even if empty