title: What is this operation called in functional programming?
body: <p>I just wrote a function with this type in TypeScript. It seems like a useful pattern for use in pipelining, etc. -- it certainly simplified the code I was working on. I would intend to overload this for three or more functions as well.</p>
  <p><code>&lt;T,A1,A2&gt;(fs: [(t: T) =&gt; A1, (t: T) =&gt; A2]) =&gt; (t: T) =&gt; [A1, A2]</code></p>
  <p>I'm progressing in my knowledge about functional programming but am somewhat lacking in theory and background.</p>
  <p>I'd like to use an idiomatic name for this operation.</p>
  <p>I can think of two analogues:</p>
  <ul>
  <li>The UNIX <code>tee</code> tool has a somewhat analogous design but only works
  (and the name only makes sense) for two functions.</li>
  <li>The construct is a little bit like <code>Promise.all</code> but I'm not sure
  &quot;all&quot; is a very good name for it either (though it's at least not
  misleading, and might feel right to people with
  JavaScript/TypeScript backgrounds specifically).</li>
  </ul>
  <p>What is this construct called?</p>