and list could have been omitted, if the Scheme dialect in question supports the non-essential variation of apply , which takes a procedure and a number of arguments as parameters, the last of which is a list. MacScheme does not support this variant of apply .