This trait provide helper function and macro called chain
to ease chaining of function where output of first function piped directly as input to another function and so forth.
chain
```rust use fn_chain::chain;
fn simple_add(a : i32, b : i32, c : i32) -> i32 { a + b + c }
fn pass_through(v : f64) -> f64 { v }
asserteq!( 6f64, chain!( simpleadd(1, 2, 3), |result: i32| {(result as f64).powi(2)}, |sqr: f64| {sqr.powf(0.5)}, passthrough, passthrough ) ); ```
chain
```rust use fn_chain::chain;
fn simple_add(a : i32, b : i32, c : i32) -> i32 { a + b + c }
fn pass_through(v : f64) -> f64 { v }
asserteq!(6f64, *chain(simpleadd(1, 2, 3)) .chain(|result| {(result as f64).powi(2)}) .chain(|sqr| sqr.powf(0.5)) .chain(passthrough) .chain(passthrough)); ```