Fix: Pipe.flatten and Sink.puller must complete their result promises
Added a convenience method

Merged change from Foresight, where this method is used