anchor.diff:     #\space     'toggle-checkbox
      #\x         'toggle-checkbox))
   
  -;; TODO: we want edit to return the edited form.
  -;; exit-event-loop just returns the keyword :exit-event-loop
  -(defun edit (object)
  +(defun edit (object &rest args)
     (draw object)
  -  ;; since we have no further args passed to run-event-loop, all handler functions have to accept
  -  ;; at most two arguments, object and event.
  -  (run-event-loop object))
  +  ;; since we have args passed to run-event-loop, all handler functions have to accept
  +  ;; a &rest args argument.
  +  (apply #'run-event-loop object args))
  
positive.code: 
  (define-keymap 'field-map
    (list
     #\soh      'exit-event-loop  ; we need this in case a field is used alone outside of a form.
     ;;#\soh      'move-start-of-line
     :left      'move-previous-char
     :right     'move-next-char
     :backspace 'delete-previous-char
  
negative.code:      (debug-print-field-buffer (current-element object) event)))
    (draw object))
  
  (defun cancel-form (object event &rest args)
    "Associate this function with an event (key binding or button) to exit the form event loop.
  
  The first return value is nil, emphasizing that the user has canceled the form.
  