> (define (apply2 proc . lst) > (define (gather lst) > (if (null? (cdr lst)) > (car lst) > (cons (car lst) (gather (cdr lst))))) > (eval (cons proc (gather lst)))) >