tail.ss
(module tail mzscheme

  (define-syntax let-tail-continuation
    (syntax-rules ()
      [(let-tail-continuation k body1 body2 ...)
       (let ([thunk (let/cc return
                      (let-syntax ([k (syntax-id-rules ()
                                        [(k e) (return (lambda () e))]
                                        [k (lambda ()
                                             (return (lambda () e)))])])
                        (lambda () body1 body2 ...)))])
         (thunk))]))

  (define-syntax let/tc (make-rename-transformer #'let-tail-continuation))

  (provide let-tail-continuation let/tc))