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) ..)