It seems to me that "cond+else" and "if" do the same thing. Not sure why Scheme has/needs BOTH. e.g. (define (find-sign x) (cond ((< x 0) "negative") (else "positive"))) (define (find-sign x) (if (< x 0) "negative" "positive")) cs