; rhyming sort

(define (reverse-word str) (list->string (reverse (string->list str))))

(define (rhyming-lt? a b) (string<? (reverse-word a) (reverse-word b)))

(define (rhyming-sort words) (sort words rhyming-lt?))

(display (rhyming-sort '("falsely" "fly" "freely" "sorely" "surely")))