 (defn -visitStatementTerm
   [this ^JestParser$StatementTermContext ctx]
 
+  ;; Should this always return a list?
   (cond
     (. ctx statement)   (self-visit this ctx statement)
     (. ctx functionDef) (self-visit this ctx functionDef)

    :else [obj]))


(defn- wrap-in-do
  [expressions]
  (cond
    (not (instance? List expressions)) expressions
    (= 0 (count expressions)) (throw (new NotImplementedException))
    (= 1 (count expressions)) (first expressions)
    :else `(do ~@expressions)))


;; HELPER
(defn merge-items
  "Takes two items and joins them as a single sequence."

        single-if (= (. conditions size) 1)]

    (cond
      (and single-if (not (nil? else))) `(if ~(. conditions (get 0)) ~(. results (get 0)) ~else)
      single-if `(if ~(. conditions (get 0)) ~(. results (get 0)))
      (not else) `(cond ~@(alternate conditions results))
      :else `(cond ~@(alternate conditions results) :else ~else))))
