Pasar elementos de la lista como parámetros a la función curry

Todavía soy un novato de Haskell aquí. Sé lo suficiente como para meterme en problemas con suposiciones equivocadas. Si tengo la siguiente función ...

quadsum w x y z = w+x+y+z

Quiero una función que pueda tomar una lista, usar cada elemento como parámetro en una función específica comoquadsum, y devuelve una función curry para su uso posterior.

He estado intentando algo en el sentido de ...

magicalFunctionMaker f [] = (f)
magicalFunctionMaker f (x:xs) = magicalFunctionMaker (f x) xs

Con la esperanza de poder hacer esto ...

magicalFunctionMaker (quadsum) [4,3,2]

Obteniendo una función curry como ...:

(((quadsum 4) 3) 2)

O, alternativamente, llame a:

magicalFunctionMaker (quadsum) [4,3,2,1]

Resultando en...

((((quadsum 4) 3) 2) 1)

es posible? ¿Qué tan equivocado estoy?

Respuestas a la pregunta(6)

Su respuesta a la pregunta