﻿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
