                             #(instance? Geopoint %)
                             #(s/gen #{(Geopoint. v/point)})))
 
+(s/def ::c.rqg/value (s/coll-of map? :kind vector?))
 
 (defmulti column-body (fn[{:keys [type] :as o}] type))
 


(s/def ::c.multiple/header (s/merge ::column-header ::c.multiple/header*))

(defmulti column-header :type)
(defmethod column-header "text" [_] ::c.text/header)
(defmethod column-header "date" [_] ::c.date/header)

(defmethod column-body "multiple" [_] ::c.multiple/body)
(defmethod column-body "geoshape" [_] ::c.geoshape/body)
(defmethod column-body "geopoint" [_] ::c.geopoint/body)
(defmethod column-body "rqg" [_] ::c.rqg/body)

(s/def ::body  (s/multi-spec column-body (fn [a b] a)))

