Let's build on this with one of akkartik's earlier proposals [1] to allow for specifying default values:
> b) Quote destructured args to distinguish them from optional args.
(a b '(c d)) ; destructured
(a b (c 3) (d)) ; optional args
By making all arguments optional, we no longer need parentheses around the final argument in that list. This plus dot ssyntax allows us to rewrite the example as follows:
(a b c.3 d)
For another example, take waterhouse's accumulate [2], which can now be rewritten: