anchor.diff:  
   (defgeneric query- (type conn sql &optional parameters))
   
  -(defparameter *mysql-type-map* (make-hash-table))
  +(defparameter *mysql-string-to-type-map* (make-hash-table))
   
   (defmethod query- ((type (eql :mysql)) conn sql &optional parameters)
  -  (let* ((cl-mysql:*type-map* *mysql-type-map*)
  +  (let* ((cl-mysql:*type-map* *mysql-string-to-type-map*)
            (statement (dbi:prepare conn sql)))
       (apply #'dbi:execute (cons statement parameters))))
   
  
positive.code: (in-package :cl-user)
  (defpackage :dipper.dbi
    (:use :cl :iterate :dipper.util :dipper.uri)
    (:export :with-connection :query :next-row :metadata))
  
  (in-package :dipper.dbi)
  
negative.code:     (metadata- (driver-type conn) query)))
  
  (defun next-row (query)
    (let* ((cl-mysql:*type-map* *mysql-string-to-type-map*))
      (let ((row (dbi:fetch query)))
        (iter (for lst on row by #'cddr)
              (collect (cadr lst))))))
  