rust-lang/rfcs — pull request #258 by pnkfelix (2014-09-23 15:40:47+00:00)
Title: auto-tupling and auto-unit'ing for variable arity fns

### Summary

Add support for default and variable-arity functions via a small
language feature and a simple programming pattern.
The language feature is solely a pair of changes to the treatment of
function call-sites:

* If there are excess arguments at a given call site, then
automatically turn convert excess arguments into a tuple of the
final argument and the excess arguments. I call this "auto-tupling."
* If there are insufficient arguments at a given call site,
then automatically replace each of the omitted arguments with
the unit value (`()`). I call this "auto-unit'ing." [*]

The above two transformations can be used in tandem with the trait
system as a way to express optional parameters and multiple-arity
functions.