anchor.diff:    (monkey (location ?place) (on-top-of (not ?on)))
     (not (goal-is-to (action on) (argument-1 ?on)))
     =>
  -  (assert-instance
  -   (make-instance 'goal-is-to :action 'on
  -                  :argument-1 ?on)))
  +  (assert ((make-instance 'goal-is-to :action 'on :argument-1 ?on))))
   
   (defrule walk-to-hold ()
     (goal-is-to (action hold) (argument-1 ?obj))
  
positive.code:   (monkey (on-top-of (not ladder)))
    (not (goal-is-to (action on) (argument-1 ladder)))
    =>
    (assert-instance
     (make-instance 'goal-is-to :action 'on
                    :argument-1 'ladder)))
  
  (defrule grab-object-from-ladder ()
    (?goal (goal-is-to (action hold) (argument-1 ?name)))
  
negative.code:   (not (thing (name ladder) (location ?place)))
    (not (goal-is-to (action move) (argument-1 ladder) (argument-2 ?place)))
    =>
    (assert ((make-instance 'goal-is-to :action 'move
                            :argument-1 'ladder
                            :argument-2 ?place))))
  
  (defrule climb-ladder-to-hold ()
    (goal-is-to (action hold) (argument-1 ?obj))
  