pub fn compose<I, M, O>(p1: Pipe<I, M>, p2: Pipe<M, O>) -> Pipe<I, O>where I: Send + 'static, M: Send + 'static, O: Send + 'static,
Compose two pipes together