partial1 fixes an argument of a two-argument function and returns a one-argument function for the remaining input. Its polymorphic type sharply constrains the implementation. section 2.5
Implementation
def partial1[A, B, C](a: A, f: (A, B) => C): B => C = (b: B) => f(a, b) The returned function captures a and supplies it to f whenever it receives b.
