anchor.diff:    "Return the numbers on the same row as SPOT in ARRAY that are not NIL."
     (loop for col to (array-dimension array 1)
           for row = (car spot)
  +        for bind = (assoc (cons row col) binds :test #'equal)
       if (aref array row col)
         collect it
  -    if (assoc (cons row col) binds :test #'equal)
  -      collect (cdr it)))
  +    if bind
  +      collect (cdr bind)))
   
   (defun col-defined-spots (array spot &optional binds)
     "Return the numbers on the same column as SPOT in ARRAY that are not NIL."
     (loop for row to (array-dimension array 0)
           for col = (cdr spot)
  +        for bind = (assoc (cons row col) binds :test #'equal)
       if (aref array row col)
         collect it
  -    if (assoc (cons row col) binds :test #'equal)
  -      collect (cdr it)))
  +    if bind
  +      collect (cdr bind)))
   
   (defun sqr-defined-spots (array spot &optional binds)
     "Return the numbers on the same 3x3 square as SPOT in ARRAY that are not NIL."
  
positive.code:     (1   (append (butlast col) (list NIL)))
      (T   (append (butlast col) (mapcar #'1- (last col))))))
  
  (defun generate-rows (row-list)
    "Fill a row with T and NIL based on the given list of lengths."
    )
  
negative.code:                   (solve-nonogram (butlast rows)
                                    (mapcar #'cdr p)
                                    (cons row puzzle))))
                (generate-rows (car (last rows)) (length cols)))))
  
  (defun solve-nonogram-iter (rows cols &aux res)
    "Alternative iterative version of SOLVE-NONOGRAM."
  