In Python and Ruby (and others as well, I\'m sure). you can prefix an enumerable with * (\"splat\") to use it as an argument list. For instance, in Python:
*
Yes, you can apply functions to tuples, using the tuple package. Check out, in particular, the uncurryN function, which handles up to 32-tuples:
Prelude Data.Tuple.Curry> (+) `uncurryN` (1, 2) 3