       (when loop-locals
         (when (= :return (:context env))
             (emits "return "))
-        (emitln "((func (" (comma-sep (map munge loop-locals)) "){")
+        (emitln "((func (" (comma-sep (map munge loop-locals)) " interface{}){")
         (when-not (= :return (:context env))
             (emits "return ")))
       (if (= 1 (count methods))

               (doseq [param params]
                 (emit param)
                 (when-not (= param (last params)) (emits ",")))
               (emits "){")
               (when recurs (emitln "for {"))
               (emits expr)
               (when recurs

              (emit-variadic-fn-method meth)
              (emit-fn-method meth))
            (emitln))
            (emitln mname " = func(" (comma-sep
                                      (if variadic
                                        (butlast params)
                                        params)) " interface{}," (when variadic ", arguments ...interface{}") "){")
          (when variadic
            (emits "var ")
            (emit (last maxparams))
