    (configure-session (create-session* db-info content-source) config-options)))
 
 (defn create-default-session
-  ;; TODO docstring
+  "Returns a session according to the default login credentials of the
+  given `content-source`, which must be a
+  com.marklogic.xcc.ContentSource object (see
+  https://docs.marklogic.com/javadoc/xcc/com/marklogic/xcc/ContentSource.html),
+  presumably created with one of Uruk's `make-*-content-source`
+  functions. Optionally takes a map of `config-options` to configure
+  the session."
   ([content-source]
    (create-default-session content-source nil))
   ([content-source {:keys [default-request-options logger user-object

    :transaction-mode :transaction-timeout})

(defn validate-session-config-options
  [config-options]
  (when-not (clojure.set/subset? (set (keys config-options))
                                 valid-session-config-options)

                 " are recognized keywords.")))))

(defn configure-session
  "Configures the given MarkLogic `session` according to the given
  `config-options`. See `create-session`."
  [session {:keys [default-request-options logger user-object
                   transaction-mode transaction-timeout]
            :as config-options}]
