+Many people end up in a development style of adding and changing
+definitions at runtime, building out their program without restarting
+it. (You can do this using @code{reload-module}, the @code{reload} REPL
+command, the @code{load} procedure, or even just pasting code into a
+REPL.) If you are one of these people, you will find that sometimes you
+there are some variables that you @emph{don't} want to redefine all the
+time. For these, use @code{define-once}.
+
+@fnindex defvar
+@deffn {Scheme Syntax} define-once name value
+Create a top level variable named @var{name} with value @var{value}, but
+only if @var{name} is not already bound in the current module.
+@end deffn
+
+Old Lispers probably know @code{define-once} under its Lisp name,
+@code{defvar}.
+