Trait Pipe
ufcs
pub trait Pipe: Sized { fn pipe<R, F: FnOnce(Self) -> R>(self, f: F) -> R { ... } }
fn pipe<R, F: FnOnce(Self) -> R>(self, f: F) -> R
impl<T> Pipe for T