anchor.diff:      (draw group (:line :x1 (get-x (x (start line-segment)))
                          :y1 (get-y (y (start line-segment)))
                          :x2 (get-x (x (end line-segment)))
  -                       :y2 (get-y (y (end line-segment)))))))
  +                       :y2 (get-y (y (end line-segment)))))
  +    (draw group (:circle :cx (get-x (x (start line-segment))) :cy (get-y (y (start line-segment))) :r 2))
  +    (draw group (:circle :cx (get-x (x (end line-segment))) :cy (get-y (y (end line-segment))) :r 2))))
   
   (defun bounding-box-union (box1 box2)
     (when (cl-geometry::bounding-boxes-intersect-p box1 box2)
  -    (make-instance 'bounding-box
  +    (make-instance 'cl-geometry::bounding-box
                      :x-min (min (cl-geometry::x-min box1)
                                  (cl-geometry::x-min box2))
                      :x-max (max (cl-geometry::x-max box1)
  
positive.code:     (draw group (:line :x1 a2 :y1 a2 :x2 a2 :y2 a1))
      (loop for i from 1 to (1- *steps*)
         do (let ((cur-a (+ *border* (* i step))))
              (draw group2 (:line :x1 cur-a :y1 a3 :x2 cur-a :y2 (+ *scale* a3)))
              (draw group2 (:line :x1 a3 :y1 cur-a :x2 (+ *scale* a3) :y2 cur-a))
              (draw group (:line :x1 cur-a :y1 (- *border* a3) :x2 cur-a :y2 (+ *border* a3)))
              (draw group (:line :x1 (- *border* a3) :y1 cur-a :x2 (+ *border* a3) :y2 cur-a))
              (draw group (:line :x1 cur-a :y1 (+ *scale* (- *border* a3)) :x2 cur-a :y2 (+ *scale* (+ *border* a3))))
  
negative.code:               (let ((problem (src/parser:parse-problem problem-file))
                      (svg-filename (format nil "~A.svg" problem-file)))
                  (draw-problem problem :filename svg-filename))
              (error (e) (format t "~A:~A~%" problem-file e))))
          (directory problem-folder)))
  
  