 ; tail
 (defn tail-1
   "tail <list> # returns the last item from the <list>"
-  {:yb/cat #{:util}}
+  {:yb/cat #{:util :collection}}
   [cmd-args] (tail 1 cmd-args))
 
 (defn tail-n
   "tail <n> <list> # returns the last <n> items from the <list>"
-  {:yb/cat #{:util}}
+  {:yb/cat #{:util :collection}}
   [{[_ n] :match :as cmd-args}]
   (tail (read-string n) cmd-args))
 

; words
(defn words
  "words <string> # split <string> by spaces into a list"
  {:yb/cat #{:util}}
  [{args :args}]
  (s/split args #" "))


; flatten
(defn flatten-cmd
  "flatten <nested list> # completely flattens a nested data struture after splitting on newlines"
  {:yb/cat #{:util :collection}}
  [{args :args opts :opts :as cmd-args}]
  (let [error-or-coll (ensure-coll cmd-args)]
    (if (error? error-or-coll)
