 (create-ns  'akvo.lumen.specs.import.column.multiple)
 (create-ns  'akvo.lumen.specs.import.column.multiple.caddisfly)
 (create-ns 'akvo.lumen.specs.import.column.multiple.geo-shape-features)
+(create-ns  'akvo.lumen.specs.import.column.rqg)
 
 (alias 'c.text 'akvo.lumen.specs.import.column.text)
 (alias 'c.number 'akvo.lumen.specs.import.column.number)

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

(s/def ::header (s/multi-spec column-header :type))



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

(s/def ::c.rqg/header* (s/keys :req-un [::c.rqg/type] :opt-un [::v/key]))
(s/def ::c.rqg/header (s/merge ::column-header ::c.rqg/header*))

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