sig
  val atomicString : string -> Dm_atomic.atomicString
  val atomicBoolean : bool -> Dm_atomic.atomicBoolean
  val atomicDecimal : Num.num -> Dm_atomic.atomicDecimal
  val atomicInteger : Big_int.big_int -> Dm_atomic.atomicInteger
  val atomicFloat : float -> Dm_atomic.atomicFloat
  val atomicDouble : float -> Dm_atomic.atomicDouble
  val atomicAnyURI : AnyURI._uri -> Dm_atomic.atomicAnyURI
  val atomicQName : Namespace_context.nsenv * string -> Dm_atomic.atomicQName
  val atomicUntyped : string -> Dm_atomic.atomicUntyped
  val atomicDate : string -> Dm_atomic.atomicDate
  val atomicTime : string -> Dm_atomic.atomicTime
  val atomicDateTime : string -> Dm_atomic.atomicDateTime
  val atomicDayTimeDuration : string -> Dm_atomic.atomicDayTimeDuration
  val atomicYearMonthDuration : string -> Dm_atomic.atomicYearMonthDuration
  val documentNode : string * Dm.node list -> Dm.document
  val elementNode :
    Dm_atomic.atomicQName * Dm.attribute list * Dm.node list *
    Dm_atomic.atomicQName -> Dm.element
  val attributeNode :
    Dm_atomic.atomicQName * Dm_atomic.atomicString * Dm_atomic.atomicQName ->
    Dm.attribute
  val textNode : Dm_atomic.atomicString -> Dm.text
  val commentNode : Dm_atomic.atomicString -> Dm.comment
  val processingInstructionNode :
    Dm_atomic.atomicString * Dm_atomic.atomicString ->
    Dm.processingInstruction
  val string_value : Physical_value.item -> string
  val item_kind : Physical_value.item -> string
  val get_node : Physical_value.item -> Dm.node
  val get_atomicValue : Physical_value.item -> Dm_atomic.atomicValue
  val get_element : Physical_value.item -> Dm.element
  val get_attribute : Physical_value.item -> Dm.attribute
  val parent : Dm.node -> Dm.node list
  val children : Dm.node -> Dm.node list
  val base_uri : Dm.node -> Dm_atomic.atomicString list
  val node_kind : Dm.node -> string
  val node_name : Dm.node -> Dm_atomic.atomicQName list
  val typed_value : Dm.node -> Dm_atomic.atomicValue list
  val attributes : Dm.node -> Dm.attribute list
  val to_node : #Dm.node -> Dm.node
  val to_node_item : #Dm.node -> Physical_value.item
  val to_atomicValue : #Dm_atomic.atomicValue -> Dm_atomic.atomicValue
  val to_atomicValue_item : #Dm_atomic.atomicValue -> Physical_value.item
  val to_node_item_list : #Dm.node list -> Physical_value.item list
  val to_atomicValue_item_list :
    #Dm_atomic.atomicValue list -> Physical_value.item list
  val string_of_atomicValue : Dm_atomic.atomicValue -> string
  val boolean_of_atomicBoolean : Dm_atomic.atomicBoolean -> bool
  val int_of_atomicInteger : Dm_atomic.atomicInteger -> int
  val integer_of_atomicInteger : Dm_atomic.atomicInteger -> Big_int.big_int
  val decimal_of_atomicDecimal : Dm_atomic.atomicDecimal -> Num.num
  val float_of_atomicFloat : Dm_atomic.atomicFloat -> float
  val float_of_atomicDouble : Dm_atomic.atomicDouble -> float
end