           [f nil])]
     (emit-wrap env
       (cond
+       opt-not?
+       (emits "!(" (first args) ")")
+
        keyword?
        (emits "(new cljs.core.Keyword(" f ")).call(" (comma-sep (cons "null" args)) ")")
        

    (when (= :expr context) (emits "})()"))))

(defmethod emit :invoke
  [{:keys [f args env]}]
  (let [fn? (and *cljs-static-fns*
                 (not (-> f :info :dynamic))
                 (-> f :info :fn-var))
        ns (-> f :info :ns)
        js? (= ns 'js)
        goog? (when ns
                (or (= ns 'goog)

                      (keyword? (-> f :form)))
        [f variadic-invoke]
        (if fn?
          (let [arity (count args)
                variadic? (:variadic info)
                mps (:method-params info)
                mfa (:max-fixed-arity info)]
