src/precore/util/Iterables.php
public static function concatIterables(IteratorAggregate $iterables) : IteratorAggregate
    {
        return self::from(
            Iterators::concatIterators(
                FluentIterable::from($iterables)
                    ->transform(
                        function (Traversable $element) {
                            return Iterators::from($element);
                        }
                    )
                    ->iterator()
            )
        );
    }
public static function concatIterables(IteratorAggregate $iterables) : IteratorAggregate
    {
        return self::from(
            Iterators::concatIterators(
                FluentIterable::from($iterables)
                    ->transform(
                        function (Traversable $element) {
                            return Iterators::from($element);
                        }
                    )
                    ->iterator()
            )
        );
    }
Combines multiple iterables into a single iterable.
The returned iterable has an iterator that traverses the elements of each iterable in inputs.
The input iterators are not polled until necessary.

@param IteratorAggregate $iterables of Traversable objects
@return IteratorAggregate