anchor.diff:  
   (defun scene-facts (init-scene goal-scene
                       &key
  +                      object-alist
  +                      moveable-types
                         max-locations
                         (encoding :linear)
                         (resolution 0.2d0)
  
positive.code:                (if (or goal (eq encoding :linear))
                     (list loc)
                     (list loc (occupied-predicate parent i j))))))
      (loop for (name parent i j) in (scene-state-pairs scene :resolution resolution)
           nconc
           (frame-predicates name parent i j))))
  
  
  
  
negative.code:          (moveable-objects (map 'list #'robray::scene-frame-name moveable-frames))
           (stackable-frames (scene-collect-type init-scene "stackable"))
           (stackable-objects (map 'list #'robray::scene-frame-name stackable-frames))
           (extra-moveable-objects (loop for (type . objects) in object-alist
                                      when (find type moveable-types)
                                      append objects))
           ;;(stackable-objects (map 'list #'robray::scene-frame-name stackable-frames))
           (objects (loop for (type . objects) in object-alist
                       append `(,@objects - ,type)))
           (locations (scene-locations init-scene resolution
                                       :max-count max-locations
                                       :encode t
  