        time-mins
        ))
 
-(defn summarize-all-parens
-  [edn-file csv-file]
-  (->>
-   ;edn-file
-   "tmp/all-parens_2018-10-28_context.edn"
-   read-lines
-   (take 10)
-   ;(maps-to-csv csv-file)
+(s/defn flatten-all-parens
+  [all-paren-lines] ; :- [{:file s/Str :parens s/Any :superfluous-parens s/Any :operator-precedence s/Any}]]
+  (->> all-paren-lines
+   ;(take 10)
    (mapcat (fn [file-map]
              (->> [:parens :superfluous-parens :operator-precedence]
                   (select-keys file-map)

                  (apply concat)
                  (map (partial into {}))
                  (map (fn [node-map]
                         (select-keys node-map [:selection :node-type :parent-type :child-type]))))
          ))
   (map prn)
   time-mins
   )
  )

   (select-keys {:a 1 :b 2} [:a :b])

(defn main-superfluous-parens
  []

  (let [paren-types
        [(Atom. :parens paren-node? (default-finder paren-node?))
         (Atom. :superfluous-parens superfluous-parens?
                (default-finder (fn [node]
                                  (when (and (not (= "anonymously-parsed-code.c" (filename node)))
                                            (paren-node? node))
                                   (superfluous-parens? node)))))
         (atom-lookup :operator-precedence)]]
  (find-atoms paren-types root)))

