throw context.getRuntime().newArgumentError("This method needs at least :lang, :params, and :code keys with values");
}
try {
Var hash_map_fn = DiametricService.getFn("clojure.core", "hash-map");
clojure.lang.PersistentArrayMap clj_map =
(PersistentArrayMap) hash_map_fn.invoke();
Var assoc_fn = DiametricService.getFn("clojure.core", "assoc");
String[] keys = new String[] { "lang", "params", "code", "requires", "imports" };
Class[] valueTypes =
new Class[] { RubySymbol.class, RubyArray.class, RubyString.class, RubyArray.class, RubyArray.class };
for (int i = 0; i < keys.length; i++) {