id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,difficulty 1623,Avoid consing for optional procedure arguments,sjamaan,sjamaan,"Currently, anything that accepts optional, rest or keyword arguments has to build a list and then pick that list apart. This is wasteful because it should not be necessary at all. We could start with the low-hanging fruit like `case-lambda` and `#!optional`, where the binding of arguments and argument count checking is relatively simple. Handling `#!key` and `#!rest` or dotted tail rest argument notation is something that seems to me either too difficult and possibly not even worth it: you usually **want** to treat those as a list (but patterns like `optional` could still be handled specially, if nothing else refers to the identifier).",enhancement,closed,minor,5.2,compiler,5.0.0,fixed,,,medium