askell tem um operador splat como Python e Rub

Em Python e Ruby (e outros também, tenho certeza). você pode prefixar um enumerável com* ("splat") para usá-lo como uma lista de argumentos. Por exemplo, em Python:

>>> def foo(a,b): return a + b
>>> foo(1,2)
3
>>> tup = (1,2)
>>> foo(*tup)
3

Existe algo semelhante em Haskell? Suponho que não funcionaria em listas devido ao seu tamanho arbitrário, mas acho que com as tuplas deveria funcionar. Aqui está um exemplo do que eu gostaria:

ghci> let f a b = a + b
ghci> :t f
f :: Num a => a -> a -> a
ghci> f 1 2
3
ghci> let tuple = (1,2)

Estou procurando um operador (ou função) que me permita fazer:

ghci> f `op` tuple
3

Eu tenho visto(<*>) sendo chamado de "splat", mas não parece se referir à mesma coisa que splat em outros idiomas. Eu tentei assim mesmo:

ghci> import Control.Applicative
ghci> f <*> tuple

<interactive>:1:7:
    Couldn't match expected type `b0 -> b0'
                with actual type `(Integer, Integer)'
    In the second argument of `(<*>)', namely `tuple'
    In the expression: f <*> tuple
    In an equation for `it': it = f <*> tuple

questionAnswers(3)

yourAnswerToTheQuestion