Jinx's correction is right. Sorry about that. It should have been: (define cadr (let ((car car) (cdr cdr)) (lambda (x) (car (cdr x))))) The question remains, however: does R4RS stipulate oneway or the other whether standard functions can depend on one another?