   type conversion in `types`."
   ([session query]
    (execute-xquery session query {}))
-  ([session query [{:keys [options variables types]}]]
+  ([session query {:keys [options variables types]}]
    (submit-request (.newAdhocQuery session query) session query options variables types)))
 
 (defn execute-module

    ;; TODO A macro might be useful to replace the chain of when-lets with use-once variable names
    (when-let [epit (:effective-point-in-time options)]
      (.setEffectivePointInTime request (BigInteger. (str epit))))
    
    (when-let [locale (:locale options)]
      (.setLocale request locale)) ;; TODO enforce Locale object?
    (when-let [mar (:max-auto-retry options)]

      (.setQueryLanguage request ql))
    (when-let [rn (:request-name options)]
      (.setRequestName request rn))

    (when-let [rtl (:request-time-limit options)]
      (.setRequestTimeLimit request rtl))
    (when-let [rbs (:result-buffer-size options)]
