Simplify to iterable

Simplifies codebase by just using an iterable and not caring about the underlying data structure. Furthermore, we don't supply an indexed array but a compact (memory), unindexed iterable. So long as there is no lookup node by ID, things are fast and memory efficient.