I feel like this should live in an `else` clause below the following `if` block.  I don't see much else in creating the array with generators just to immediately toss it if `on_demand` isn't set.