    "xs:untypedAtomic" str ;; NB: also referred to as "xdt:untypedAtomic" in type listing
    "xs:yearMonthDuration" str})
 
+;; FIXME this is not currently usable if convert-types is part of execute-xquery
 (defn result-type
   "Returns type string of the given query Result object. Currently
   assumes result is homogenous."

   
   "json:array" #(json/read-str (.toString (.asJsonNode %))) ;; JSArray
   "object-node()" #(json/read-str (.toString (.asJsonNode %))) ;; JSObject -- is this optimal detection method?
   
   ;; JsonItem - TODO find mocking mechanism or test with real data
   
   ;; NullNode TODO
   ;; NumberNode TODO
   ;; ObjectNode TODO

   ;; FIXME XDM keys have only been mocked; unknown if it matches getValueType

   ;; XdmAtomic TODO
   "attribute()" #(.asString %) ;; XdmAttribute
   "binary()" #(.asString %) ;; XdmBinary -- XXX unknown if the key used matches getValueType
   "comment()" #(.asString %) ;; XdmComment
   "document-node()" #(.asString %) ;; XdmDocument
