Rip supports a variety of interfaces for iterating over collections.
Regardless of how any result above gets created, it will be a System.Pipeline object. Pipelines have many advantages, not the least is their ability to be lazy-evaluated. Pipelines are not restricted to iterating over collections; any value may be passed through.