(define pop! (lambda (ra-stack) (if (empty-ra-stack? ra-stack) ;; 1 (error "POP!: attempted pop from an empty stack") (begin (set-height! ra-stack (- (height ra-stack) 1)) ;; 2 ra-stack)))) ;; 3 (define set-height! ; not for public use (lambda (ra-stack new-height) (vector-set! ra-stack 0 new-height)))Scheme's begin form evaluates all expressions in its scope sequentially.