| "Given a [[stream|iterables]] whose elements are also |
| streams, return a new stream with all elements of every |
| nested stream. If there are no nested streams, or if all of |
| the nested streams are empty, return an empty stream. |
| |
| For example, the expression |
| |
| expand { 1..3, {5}, \"hi\" } |
| |
| results in the stream `{ 1, 2, 3, 5, 'h', 'i' }` which has |
| the type `{Integer|Character*}`." |
| see (`function Iterable.flatMap`, |
| `function concatenate`, |
| `function Iterable.chain`) |
| tagged("Streams") |
| since("1.1.0") |
| shared Iterable<Element,OuterAbsent|InnerAbsent> |
| expand<Element,OuterAbsent,InnerAbsent> |
| (Iterable<Iterable<Element,InnerAbsent>,OuterAbsent> iterables) |
| given OuterAbsent satisfies Null |
| given InnerAbsent satisfies Null |
| => { for (it in iterables) for (val in it) val }; |
| |