λ.curry λ.reduce