Change "Combine" so that it takes the expected length

This means that the operation works when combining zero data sources (e.g.
getting rows of an empty frame). It is probably also a better design because
we can always get the expected length from the index.