• Q: Isn't allowing syntactic defaults providing more than one way to say the same thing?
  • A: No, not if they simply allow omitting parts you aren't currently using.
  • Example: Cpp2's function syntax works well from big generic functions, down to tiny lambdas with captures, down to plain old blocks and statements... using only one general syntax
  • From named functions, to lambdas, to parameterized blocks/statements, to ordinary blocks/statements
  • More about block/statement parameters
  • More design rationale