> b) Quote destructured args to distinguish them from optional args.
(a b '(c d)) ; destructured
(a b (c 3) (d)) ; optional args
(a b c.3 d)
(def accumulate (over starting.nil taking.car
folding-with.cons next.cdr until.no)
Another Update: I think it's because I like implicit pairs so much  that I actually prefer akkartik's incumbent syntax for optional args:
(def accumulate (over ? starting nil taking car
next cdr until no)
Another idea is perhaps to use '=' as ssyntax for optional args.
(def accumulate(over starting=nil taking=car folding-with=cons next=cdr until=no)