| Flatten(IEnumerable) | Flattens a sequence containing arbitrarily-nested sequences. | 
| Flatten(IEnumerable, FuncIEnumerable, Boolean) | Flattens a sequence containing arbitrarily-nested sequences. An additional parameter specifies a predicate function used to determine whether a nested IEnumerable should be flattened or not. | 
| Flatten(IEnumerable, FuncObject, IEnumerable) | Flattens a sequence containing arbitrarily-nested sequences. An additional parameter specifies a function that projects an inner sequence via a property of an object. |