 
 (defn select-count
   ([cond coll]
-   {:pre [(coll? coll)]}
+   {:pre [(fn? cond) (coll? coll)]}
    (count (filter cond coll))))
 
 (defn _cross-validate


(defn train-model
  ([dataset L & {:keys [norm] :or {norm false}}]
   ;; {:pre [(instance? DataSet dataset) (integer? L)]}
   (let [normf (if norm data/normalize identity)
         d (data/num-of-feature dataset)
         ass (make-ass d L)

(defn sign
  "The signum function for a real number x."
  ([x]
   {:pre [(number? x)]
    :post [(< (Math/abs %) 2)]}
   (cond
     (> x 0) 1
     (= x 0) 0
