 ; 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))
 

; example usage: !users | xargs attack
(defn xargs
  "xargs <cmd> <list> # run <cmd> for every item in <list> in parallel; behavior is similar to xargs(1)'s xargs -n1"
  {:yb/cat #{:util}}
  [{:keys [args opts user] :as cmd-params}]
  (if (s/blank? args)
    opts ; passthrough if no args

; trim
(defn trim
  "trim <string> # remove whitespace from both ends of <string>"
  {:yb/cat #{:util :collection}}
  [{args :args}]
  (s/trim args))

