later.ss
#lang scheme/base

(define custodian (make-custodian))

(define (make-later interval)
  (define t #f)
  (λ (next)
    (when t
      (parameterize 
          ((current-custodian custodian))
        (kill-thread t))
      (set! t #f))
    (set! t 
          (parameterize
              ((current-custodian custodian))
            (thread
             (λ ()
               (sleep interval)
               (next)
               (set! t #f)))))))
(provide make-later)