Simplified the pipe operator

The pipe operator now no longer works in the previous way of accepting a
magic `value` placeholder argument. On the other hand it’s vastly
simpler, more efficient, and can now be combined with function builders,
which makes the `value` usage redundant.
Merge branch 'pipe'