sig
  type 'a sequence = CSeq of 'Cursor.cursor | LSeq of 'a list
  type item = Item_Atomic of Dm_atomic.atomicValue | Item_Node of Dm.node
  type _ItemKind = AtomicValueKind | NodeKind
  type dom_value = Physical_value.item Physical_value.sequence
  type sax_value = Streaming_types.typed_xml_stream
  type xml_value =
      DomValue of Physical_value.dom_value
    | SaxValue of Physical_value.sax_value
  type tuple_unit = unit
  val empty_tuple : Physical_value.tuple_unit
  type tuple = Physical_value.xml_value array
  type dom_tuple = Physical_value.dom_value array
  type table_unit = Physical_value.tuple_unit Cursor.cursor
  type table = Physical_value.tuple array
  type dom_table = Physical_value.dom_tuple array
  type physical_value =
      PXMLValue of Physical_value.xml_value
    | PTable of Physical_value.table_unit
end