                               0 ;; what flag?
                               (:lat (:geo want))
                               (:lon (:geo want))
-                              (int (:houses want))
+                              (int (coerce-houses (:houses want)))
                               cusps
                               ascmc)]
           {:houses (zipmap (range 1 13) (rest cusps))})))))

        (number? (:lon geo)))
    true
    false))

(defn calc [stuff]
  (let [want (merge defaults stuff)

               :geo {:lat nil :lon nil}
               :bodies []
               :angles []
               :houses "O"})

(defn- valid-geo? [geo]
  (if (and
