 (derive java.lang.Number ::java-object)
 (derive java.lang.Boolean ::java-object)
 
-(defmulti convert-jruby class)
+(defmulti
+  #^{:doc "Converts a JRuby object to a compatible Clojure type."}
+  convert-jruby class)
 
 (defmethod convert-jruby org.jruby.RubySymbol [x]
   (keyword (str x)))

   bindings))

(defn eval-jruby
  ([script]
     (.eval (jruby) script))
  ([script bindings]

(ns org.altlaw.util.jruby
  (:require [clojure.contrib.java-utils :as j])
  (:import (javax.script SimpleBindings ScriptContext
                         ScriptEngine ScriptEngineManager)))

(def #^{:private true} *jruby*
     (delay (.getEngineByName (ScriptEngineManager.) "jruby")))

(defn- jruby []
  (force *jruby*))

(defn- make-bindings [m]
  (let [bindings (SimpleBindings.)]
