     :timeout-millis
     :timezone})
 
-(defn- request-options
+(defn request-options
   "Creates a Request Options object (to pass to a Request or a
   Session) out of the given options map. See `valid-request-options`
   for supported keywords."

   "element()" #(.asString %) ;; XdmElement
   ;; XdmItem TODO
   "text()" #(.asString %) ;; XdmText
   "variable()" #(hash-map (.toString (.getName %))
                           (.asString (.getValue %))) ;; XdmVariable -- XXX unknown if the key used matches getValueType

   "xs:anyURI" str
   "xs:base64Binary" #(.asBinaryData %) ;; XSBase64Binary

                                              ValueType/XS_STRING (str vval))
                             acc)
                           (doto request-factory (.setOptions ro))
                           variables)]
    (cond (= :raw types) (.submitRequest session request)
          :else (convert-types (.submitRequest session request) types))))

