これらの関数はすべて同じことを行います。
def h0(f: Int => Int)(g: Int => Int)(x: Int) = f(g(x))
def h1(f: Int => Int, g: Int => Int)(x: Int) = f(g(x))
def h2(f: Int => Int)(g: Int => Int, x: Int) = f(g(x))
def h3(f: Int => Int, g: Int => Int, x: Int) = f(g(x))
今、私はポリレンマにいます:どのコンテキストで引数を「分割」する必要がありますか?