later.rkt
#lang racket/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)