This is one of the reasons shell languages feel kind of functional. But they&#x27;re not really designed like a functional language so they feel kind of clunky.<p>On the subject of &quot;oh, I could do that if...&quot; I know exactly how you feel. I really want the ability to pass multiple filestreams to a command, so you could, say, use cat on the outputs of two commands. Assuming the syntax was @`&lt;pipeline&gt;`, It would like something like this:<p>foo|grep bar|cat @`baz|grep bar`|sort -rn|tail<p>The above script assumes that the commands foo and baz are generating lines with time signatures at the start, and then  checking for the most recent entries. I chose the @` syntax for its similarity to the lisp @, syntax, but it could be anything. Unfortunately, I think the only way to do this would be to monkey-patch either open(2) or fopen(2), probably both, which would be a Really Bad Idea (tm).