(define-syntax define-dynamic (syntax-rules () ((_ var value) (define var (let ((slot (lambda () value))) (lambda args (if (null? args) (slot) (set! slot (lambda () (car args))))))))))