(define (reverse1 wd)
  (if (= (count wd) 1)
      wd
      (word (last wd)
            (reverse1 (bl wd)))))

(define (reverse2 wd)
  (define (reverse-helper wd rv)
    (if (empty? wd)
        rv
        (reverse-helper (bf wd) (word (first wd) rv))))
  (trace reverse-helper)
  (reverse-helper wd ""))

(define (downup wd)
  (se wd (downup (bl wd)) wd))


