I fell in love with Elixir's pipeline operator. It would be a joy to see it come to Javascript/Typescript.<p>I think the explicit "^" in one of the proposals can be a good idea.<p>Python's badly designed interface comes to mind:<p><pre><code> (lambda i: i * 2) |> map([1, 2, 3])
</code></pre>
vs<p><pre><code> [1, 2, 3] |> map(lambda i: i * 2, ^)
</code></pre>
But since "^" is already a binary operator, I would rather use "&1" (like in Elixir).<p>This would have the benefit of being consistent with a later partial function application syntax:<p><pre><code> const add = (a, b, c) => a + b + c
const f = add(1, &1, &2)
f(2, 3) === 6
</code></pre>
Note also that for promises, I think, a global then function should be provided:<p><pre><code> const promise = new Promise(...)
|> then(&1, async result => ...)</code></pre>