anchor.diff:               ((eq operator (clutter-intern "define-global-function"))
                 (destructuring-bind (name value)
                     argument-forms
  -                (unless (symbolp name)
  +                (unless (clutter-symbol-p name)
                     (error "~A is not a valid variable name." name))
                   (let ((fn (evaluate value env fenv)))
                     (unless (clutter-function-p fn)
  
positive.code:               (destructuring-bind (name)
                    argument-forms
                  ;; Sanity checks -- these should happen at "compile time"
                  (unless (symbolp name)
                    (error "~A is not a valid variable name." name))
                  (unless (find-binding name env)
                    (error "~A is not a visible variable." name))
  
negative.code:               (destructuring-bind (variable value)
                    argument-forms
                  ;; Sanity checks -- these should happen at "compile time"
                  (unless (clutter-symbol-p variable)
                    (error "~A is not a valid variable name" variable))
                  (unless (find-binding variable env)
                    (error "~A is not a lexically visible variable" variable))
  