Using ,enter-vat breaks Wisp

While entering the Wisp code from "Heart of Spritely" at the REPL, using ,enter-vat breaks the evaluation of Wisp syntax. Here's an example session running in the environment of guix shell --pure guile guile-readline guile-colorize guile-goblins guile-wisp:

[guix-shell] juli ~ $ guile --language=wisp
GNU Guile 3.0.9
Copyright (C) 1995-2023 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
wisp@(guile-user)> use-modules : goblins
... 
... 
wisp@(guile-user)> define : ^greeter bcom our-name
...                 lambda (your-name)
...                  format #f "Hello ~a, my name is ~a!" 
...                   . your-name our-name
... 
... 
wisp@(guile-user)> define a-vat : spawn-vat
... 
... 
wisp@(guile-user)> ,enter-vat a-vat
Entering vat '0'.  Type ',q' to exit.  Type ',help goblins' for help.
"goblins/0"@(guile-user) [1]> define gary
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Syntax error:
unknown file:14:0: unexpected syntax in form define

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
... 
... 
;;; <stdin>:15:0: warning: possibly unbound variable `gary'
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Unbound variable: gary

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
wisp@(guile-user) [3]> ,q
wisp@(guile-user) [2]> ,q
"goblins/0"@(guile-user) [1]> (define gary (spawn ^greeter "Gary"))
"goblins/0"@(guile-user) [1]> (current-language)
$1 = wisp
"goblins/0"@(guile-user) [1]> 
Edited by Juliana Sims