sig
  type 'a cursor_context
  val build_cursor_context :
    'Cursor.cursor -> 'Cursor_context.cursor_context
  val get_current_cursor :
    'Cursor_context.cursor_context -> 'Cursor.cursor
  val push_node_to_cursor_context :
    'Cursor_context.cursor_context -> 'Cursor.cursor -> unit
  val pop_node_from_cursor_context :
    'Cursor_context.cursor_context -> unit option
end