The attached patch optimizes the call-with-values case where the consumer is a single-argument procedure to rewrite (call-with-values producer consumer) as (consumer (producer)). It works when the consumer is a LambdaExp and also when it is a ReferenceExp whose value is (known to be) a Procedure. -- Jamison Hope The PTR Group www.theptrgroup.com