I have an array of ordered enumerables IorderedEnumerable[] foo and I want to flatten it so that the ordered enumerables of foo are concat
IorderedEnumerable[] foo
foo
All LINQ to Objects methods (except, obviously, OrderBy() and ToDictionary()) will preserve source ordering.
OrderBy()
ToDictionary()