to slowdraw :speed
make "redefp "true
; Restore things if already slow
if primitivep "origforward~
   [
   copydef "forward "origforward
   copydef "fd      "origforward
   erase "origforward
   ]
if primitivep "origback~
   [
   copydef "back    "origback
   copydef "bk      "origback
   erase "origback
   ]
; if a delay was specified define new slow draw routines
if not :speed = 0~
   [
   copydef "origforward "forward
   copydef "origback    "back
   erase "fd
   define "fd (list [d] (list "repeat :speed (list "origforward (word ": "d) "/ :speed "wait 1)))
   erase "bk
   define "bk (list [d] (list "repeat :speed (list "origback    (word ": "d) "/ :speed "wait 1)))
   copydef "forward "fd
   copydef "back    "bk
   ]
make "redefp "false
end