currycompose

A crate providing a trait for performing currying (and non-currying) function-composition in rust.

A can be composed with B if A implements FnOnce and takes one or more argument, while B implements FnOnce and returns something of the same type as the first argument of A.

Currying functions which implement FnMut or Fn will yield something also implementing FnMut/Fn if both operands do.