anchor.diff:                           (aref square 2 2)
                            (aref square 0 2)))
             (middles (list (aref square 0 1)
  -                         (aref square 1 2)
  +                         (aref square 1 0)
                            (aref square 2 1)
  -                         (aref square 1 0))))
  +                         (aref square 1 2))))
         (flet ((lowest-position (sequence)
                  (position (apply #'min (remove-if #'zerop sequence)) sequence))
                (needs-mirror (square)
  
positive.code: (defun range (n)
    "Returns a list with elements 0 to N-1."
    (let (range) (dotimes (i n (nreverse range)) (push i range))))
  
  (defun magic-square-p (square &optional (magic-sum 15))
    "Returns T if the provided SQUARE is a magic square."
  
negative.code:                          (0 0 0))))
        (square= (normalize-square square-1) square-2)) t)
  
  ;;; actual magic squares tests (not just matrix junk)
  
  (defparameter *perfect-square* #2a ((8 1 6)
                                      (3 5 7)
                                      (4 9 2)))
  