¿Qué es un algoritmo de composición de función que funcionará para varios argumentos, como h (x, y)? f (x). g (x) = h (f (x), g (x))?

Por ejemplo, supongamos que tenemos las funcionesdouble(x) = 2 * x, square(x) = x ^ 2 ysum(x,y) = x + y. Que es una funcioncompose comocompose(compose(sum, square), double) = x^2 + 2*x? Tenga en cuenta que estoy pidiendo una función que se puede utilizar para funciones de cualquier aridad. Por ejemplo, podrías componerf(x,y,z) cong(x), h(x), i(x) dentrof(g(x), h(x), i(x)).