   (symbolize-keys (merge (select-keys row-data (map (comp keyword name) (:keys bindings)))
                          (select-keys row-data (map name (:strs bindings))))))
 
-(defmulti templatable? class)
+(defmulti ^:private templatable?
+  "Predicate that returns true if the supplied argument should be emitted when
+  attempting to inline global vars in a graph template.
+
+  Used with bind-constants."
+
+  class)
 
 (defmethod templatable? nil [v] true)
 

           @varr
           f)
         f)
       f)
     ) form))

(defrecord UnreadableForm [form-string form-class])



(defmethod templatable? clojure.lang.Keyword [v] true)

(defn- bind-constants
  "Walks the given form and resolves symbols from the namespace to their vars,
  returning the values they reference if they are templatable?.

  Non templatable values are unexpanded/uninlined and left as symbols."
  [ns form]
  (clojure.walk/postwalk
   (fn [f]
     (if (and (symbol? f)
