anchor.diff:                when form
                 collect form)))))
   
  -(defmacro with-db (() &body body)
  -  `(let ((reusing-connection-p *database*)
  -         (*database* (or *database*
  -                         (apply #'connect (list *db-name* *db-user* *db-password* *db-host*)))))
  -     (unwind-protect (progn ,@body)
  -       (unless reusing-connection-p
  -         (disconnect *database*)))))
  -
   (defun drop-table (symbol)
     (with-db ()
       (query (format nil "drop table if exists ~A" (sql-compile symbol)))))
  
positive.code: 
  (defgeneric id (dao))
  
  ;; Forms
  (defvar *validation-errors*)
  
  
negative.code: (cl:defpackage #:sykosomatic.db
    (:use :cl :alexandria :postmodern
          :sykosomatic.util)
    (:export :id :defdao :init-db
             :with-db
             :get-connection
             :done-with-connection
             :dblog :rebuild-table
             :rebuild :drop-table :drop-all-tables
             :assert-validation :with-validation :assert-required))
  (cl:in-package #:sykosomatic.db)
  