(define make-game-state-comparator (lambda (comparator) ; used for comparing sizes (lambda (gs1 gs2) (comparator (total-size gs1) (total-size gs2))))) (define gs> (make-game-state-comparator >)) (define gs1 (make-game-state 5 3)) (define gs2 (make-game-state 4 6)) (gs> gs1 gs2) (define make-adder (lambda (how-much-to-add) (lambda (what-to-add-it-to) (+ how-much-to-add what-to-add-it-to)))) (define add-five (make-adder 5)) (define make-fiver (lambda (how-to-combine-with-five) (lambda (what-to-combine-with-five) (how-to-combine-with-five 5 what-to-combine-with-five)))) (define add-five (make-fiver +))