rvalue-reference support for Iterable<T> - untested and not sure right but hopefully an OK start