stream: compose
pipe is similar to pipeline however it supports stream composition, i.e.
const transform3 = stream.pipe(transform1, transform2)
// transform3 is a writable
stream.pipeline(source, transform3, sink, (err) => console.log('err'))
Similar to how rx js provides a top level pipe(...observables)
method.