This is exactly the way the RFC process does not work. It is not a popularity contest; and I hope it never will be. For language additions, it is rather based on finding consensus within the language team for something. The language team is then responsible for making sure that the objections of people towards the RFC are considered and the replies to those. If someone repeats one objection someone else has made, it should not count twice.
It’s not being brief that is my primary concern; it is repeating information.
For example, taking:
let binding = MyType {
foo: foo,
bar: bar,
baz: baz,
};
you are repeating foo, bar and baz each twice. This is not the worst offender, but you still have redundancies.
Let’s take another example:
let first_binding = initial_value;
let second_binding = my_first_fun(first_binding);
let third_binding = my_second_fun(second_binding);
let fourth_binding = my_third_fun(third_binding);
You are obscuring what is happening here with a bunch of temporaries that diagonally are repeated twice.
Compare this to:
let result = my_third_fun . my_second_fun . my_first_fun $ initial_value
(this is haskell syntax using function composition and then applying the composed functions to initial_value.)
or in Rust:
let result = initial_value.first().second().third();
Absolutely it does! I think we should try to design consistent syntax that fits well within a broader system.
I find that saying just “we can always opt to not do this” does not actually play devil’s advocate. Instead, it is more important to actually find concrete drawbacks. Saying just “do nothing” leads more often to not bother finding concrete drawbacks in my own experience.