case-lambda reduces the clutter of procedures that execute
different code depending on the number of arguments they were passed; it
is a pattern–matching mechanism that matches on the number of
case-lambda is available in some Scheme systems.
case-lambda can be implemented as a macro using only
facilities available in R5RS Scheme, it admits considerable