Fizzbuzz in Scheme/Racket

No idea why I did this…

(define (fizzbuzz listIn [currentList empty])
  (define (showWhich itemToTell)
    (let ([testString
           (string-append
            (if (= (modulo itemToTell 3) 0) "Fizz" "")
            (if (= (modulo itemToTell 5) 0) "Buzz" ""))])
      (if (= (string-length testString) 0)
          itemToTell
          testString)))
  (define (add-head-to-list itemList listTAddTo)
    (append listTAddTo (list (showWhich (first itemList) ))))  
  (cond
    [(null? listIn) currentList]
    [(null? (rest listIn)) (add-head-to-list listIn currentList)]
    [else (fizzbuzz (rest listIn) (add-head-to-list listIn currentList))]))