monocle.function
curry: ((A,B,...,Z) => Res) <=> (A => B => ...
curry: ((A,B,...,Z) => Res) <=> (A => B => ... => Z => Res)