Consider a function that is instead denoted A -> (B -> C)
.
The function takes A
and returns a function. That returned function takes B
and
returns C
.
This function is said to be in curried form and it permits partial application of its arguments.
If you want to switch the order in which arguments are applied, then it is trivial to write a function
(A -> (B -> C)) -> (B -> (A -> C))
since functions are first-class.