     - only checks the first element in the vector"
   [arg]
   (let [val (deref-or-value arg)]
-    (if (vector? val)
-      (or (empty? val) (map? (first val)))
-      false)))
+    (and (vector? val)
+         (or (empty? val)
+             (map? (first val))))))

                     (filter :required)
                     (map :name)
                     set)
   :validate-fns (filter :validate-fn args-desc)}) 

;; ----------------------------------------------------------------------------
;; Primary validation functions

  "Converts obj to a string and truncates it to max-len chars if necessary.
   When truncation is necessary, adds an elipsis to the end."
  [obj max-len]
  (gstring/truncate (str obj) max-len))

(defn log-error
  "Sends a message to the DeV Tools console as an error."
