 
 (defmethod parse-adq :modifier [{:keys [content attrs]}]
   {:modifier (apply merge (map parse-adq content))})
+
+(defmethod parse-adq :ranged_weapon[{:keys [content attrs]}]
+  {:ranged-weapon (map parse-adq content)
+   ;(apply merge (map parse-adq content))
+   })
 
 (defmethod parse-adq :dr_bonus [{:keys [content attrs]}]
   {:dr_bonus (map parse-adq content)})

(defmethod parse-adq :affects [m] (string-attr m))
(defmethod parse-adq :damage [m] (string-attr m))
(defmethod parse-adq :usage [m] (string-attr m))
(defmethod parse-adq :attribute [m] (string-attr m))

(defmethod parse-adq :type [{:keys [content]}]
  {:type (set (map cs/trim (cs/split (first content) #",")))})

(defmethod parse-adq :specialization [{:keys [tag content attrs]}]
  ;how do these attrs work?

            [clojure.edn :as edn]))

(def x (->> "clojure_club/gurps/basic_set.adq" io/resource slurp xml/parse-str))

(defn numeric-attr [{:keys [tag content]}]
  {tag (some-> content first)})
