$ racket -f test.scm test.scm:20:8: if: bad syntax (must have an "else" expression) in: (if (and (not (null? p)) (> (car p) *global-stack-depth*)) (begin (set-car! p *global-stack-depth*) (loop (cdr p))))