I realize this is likely to be too late to be possible,
but I'd like
to propose changing the procedure/method parameter
declaration syntax. Instead of:
where the : and/or the = modifier are optional.
The : modifier would denote a required type, while
the = modifier would denote a default value.
(a) lexically distinguish the functionally *different*
concepts of type checking and default value,
which is a Very Good Thing from a usability POV.
(b) Allow default values to become arbitrary expressions
instead of just constants.
(c) Make it (slightly) easier to implement type checking
that is really type checking.