        flatten
        (remove nil?)
        group-meta-strings
-       (map #(if (string? %)
-               (str->ansi-pairs %)
+       (mapv #(if (string? %)
+                (str->ansi-pairs %)
                %))
        flatten
        split-text-tag-coll))

             (when b'
               {(->kw b') b'})))))

(defn ansi->prop-map
  [ansi]
  (let [rm (re-matcher (re-pattern (str "\33" "\\[(\\d+)?(;(\\d+))?m"))
                       ansi)]
    (loop [[match c1 _ c2] (re-find rm)
           agg {}]

                                             c2)))
        {:text-color agg}))))

(def regex2 (re-pattern (str "([^" "\33" "]*)(("  "\33" ".*?m)*)")))

(defn str->ansi-pairs
  [s]
  (let [r regex2]
    (loop [head []
           tail s]
      (let [[match txt ansi _] (re-find r tail)
