anchor.diff:         do (setf (aref board x y) (digit-char-p i)))
       board))
   
  -;;; board -> text
  +
  +;;; given a 9x9 array returns a string representation
   (defun to-str (board)
     (let ((dims (array-dimensions board))
           (text ""))
  
positive.code: (defconstant +board-size+ 81)
  (defconstant +row-size+ 9)
  
  ;;; return text inside stream
  (defun slurp-file (stream)
    (let ((seq (make-array (file-length stream) :element-type 'character :fill-pointer t)))
      (setf (fill-pointer seq) (read-sequence seq stream))
      seq))
  
  ;;; text -> board
  (defun from-str (text)
    (let ((board (make-array (list +row-size+ +row-size+) :element-type 'integer)))
      (loop
  
negative.code:                                                       (loop for j from sq-y to (+ sq-y 2) do
                                                             (when (= (aref a-sudoku i j) val)
                                                               (return-from outer t)))))))))
  
      (let ((spot (next-empty sudoku)))
        (when spot
          (destructuring-bind (x y) spot
  