Currying RFC

Automatic currying of all functions and closures
Another drawback is likely making error messages slightly more confusing, e.g. missing an argument now is:

```rust
fn add(x: int, y: int) -> int { x + y } 

fn main() {
    let z = add(1) * 2; // error: this function takes 2 parameters but 1 parameter was supplied
    println!("{}", z);
}
```

but under this RFC it would (naively) become something like "type |int| -> int does not implement Mul". (This should either be a drawback or a plan to avoid these problems should be mentioned above. Investigating how e.g. Haskell handles might be a good idea.)