 
 ; execute a sequence of sql statements
 (defn- exec-statements [stmts]
-  (dorun (map exec-raw stmts))) ; XXX doseq
+  (doseq [s stmts]
+    (exec-raw s)))
 
 (defn run-query [q]
   ; XXX should sanitize the query

                                       :chromEnd (a-probe :chromEnd)
                                       :strand (a-probe :strand)})))
    (p :probemap-insert-genes
       (dorun (map #(insert probe_gene (values {:probemap_id pmid ; XXX doseq?
                                                :probe_id pmp
                                                :gene %}))
                   (a-probe :genes))))))

; kdb/transaction will create a closure of our parameters,
; so we can't pass in the matrix seq w/o blowing the heap. We

              (load-related-sources
                probemap_source :probemap_id pmid files))
           (p :probemap-probes
              (doseq [probe probes]
                (add-probe probe)))))))))

(defn create-db [file & [{:keys [classname subprotocol delimiters make-pool?]
                          :or {classname "org.h2.Driver"
