sig
  val coerce_nodep :
    '->
    ('-> Algebra_type.alg_eval_code) -> Algebra_type.alg_eval_code_dep
  val coerce_unitdep :
    (unit -> Algebra_type.eval_fun -> 'a) ->
    unit ->
    ('-> Algebra_type.alg_eval_code) -> Algebra_type.alg_eval_code_dep
  val coerce_onedep :
    (Algebra_type.algop_expr -> Algebra_type.eval_fun -> 'a) ->
    Algebra_type.algop_expr ->
    ('-> Algebra_type.alg_eval_code) -> Algebra_type.alg_eval_code_dep
  val coerce_twodep :
    (Algebra_type.algop_expr * Algebra_type.algop_expr ->
     Algebra_type.eval_fun -> 'a) ->
    Algebra_type.algop_expr * Algebra_type.algop_expr ->
    ('-> Algebra_type.alg_eval_code) -> Algebra_type.alg_eval_code_dep
  val coerce_manydep :
    (Algebra_type.algop_expr array -> Algebra_type.eval_fun -> 'a) ->
    Algebra_type.algop_expr array ->
    ('-> Algebra_type.alg_eval_code) -> Algebra_type.alg_eval_code_dep
  val coerce_nodep_prolog :
    '->
    ('-> Algebra_type.alg_eval_code_prolog) ->
    Algebra_type.alg_eval_code_dep_prolog
  val coerce_onedep_prolog :
    (Algebra_type.algop_expr -> Algebra_type.eval_fun -> 'a) ->
    Algebra_type.algop_expr ->
    ('-> Algebra_type.alg_eval_code_prolog) ->
    Algebra_type.alg_eval_code_dep_prolog
  val coerce_unit_to_xml :
    (Execution_context.algebra_context -> unit -> Physical_value.xml_value) ->
    Algebra_type.alg_eval_code
  val coerce_unit_to_sax :
    (Execution_context.algebra_context ->
     unit -> Streaming_types.typed_xml_stream) ->
    Algebra_type.alg_eval_code
  val coerce_unit_to_item_cursor :
    (Execution_context.algebra_context ->
     unit -> Physical_value.item Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unit_to_item_list :
    (Execution_context.algebra_context -> unit -> Physical_value.item list) ->
    Algebra_type.alg_eval_code
  val coerce_unit_to_physical_value :
    (Execution_context.algebra_context ->
     unit -> Physical_value.physical_value) ->
    Algebra_type.alg_eval_code
  val coerce_unit_to_tuple :
    (Execution_context.algebra_context -> unit -> Physical_value.tuple_unit) ->
    Algebra_type.alg_eval_code
  val coerce_unit_to_item :
    (Execution_context.algebra_context -> unit -> Physical_value.item) ->
    Algebra_type.alg_eval_code
  val coerce_unary_sax_to_sax :
    (Execution_context.algebra_context ->
     Streaming_types.typed_xml_stream -> Streaming_types.typed_xml_stream) ->
    Algebra_type.alg_eval_code
  val coerce_binary_sax_to_sax :
    (Execution_context.algebra_context ->
     Streaming_types.typed_xml_stream ->
     Streaming_types.typed_xml_stream -> Streaming_types.typed_xml_stream) ->
    Algebra_type.alg_eval_code
  val coerce_unary_sax_to_item_list :
    (Execution_context.algebra_context ->
     Streaming_types.typed_xml_stream -> Physical_value.item list) ->
    Algebra_type.alg_eval_code
  val coerce_unary_sax_to_item_cursor :
    (Execution_context.algebra_context ->
     Streaming_types.typed_xml_stream -> Physical_value.item Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_sax_to_tuple_cursor :
    (Execution_context.algebra_context ->
     Streaming_types.typed_xml_stream ->
     Physical_value.tuple_unit Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_sax_to_physical_value :
    (Execution_context.algebra_context ->
     Streaming_types.typed_xml_stream -> Physical_value.physical_value) ->
    Algebra_type.alg_eval_code
  val coerce_unary_xml_to_xml :
    (Execution_context.algebra_context ->
     Physical_value.xml_value -> Physical_value.xml_value) ->
    Algebra_type.alg_eval_code
  val coerce_unary_xml_to_physical_value :
    (Execution_context.algebra_context ->
     Physical_value.xml_value -> Physical_value.physical_value) ->
    Algebra_type.alg_eval_code
  val coerce_unary_xml_to_item_list :
    (Execution_context.algebra_context ->
     Physical_value.xml_value -> Physical_value.item list) ->
    Algebra_type.alg_eval_code
  val coerce_unary_xml_to_tuple_cursor :
    (Execution_context.algebra_context ->
     Physical_value.xml_value -> Physical_value.tuple_unit Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_cursor_to_tuple_cursor :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor ->
     Physical_value.tuple_unit Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_tuple_cursor_to_item_cursor :
    (Execution_context.algebra_context ->
     Physical_value.tuple_unit Cursor.cursor ->
     Physical_value.item Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_tuple_cursor_to_tuple_cursor :
    (Execution_context.algebra_context ->
     Physical_value.tuple_unit Cursor.cursor ->
     Physical_value.tuple_unit Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_tuple_cursor_to_xml :
    (Execution_context.algebra_context ->
     Physical_value.tuple_unit Cursor.cursor -> Physical_value.xml_value) ->
    Algebra_type.alg_eval_code
  val coerce_binary_tuple_cursor_to_tuple_cursor :
    (Execution_context.algebra_context ->
     Physical_value.tuple_unit Cursor.cursor ->
     Physical_value.tuple_unit Cursor.cursor ->
     Physical_value.tuple_unit Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_binary_tuple_to_tuple :
    (Execution_context.algebra_context ->
     Physical_value.tuple_unit ->
     Physical_value.tuple_unit -> Physical_value.tuple_unit) ->
    Algebra_type.alg_eval_code
  val coerce_binary_item_cursor_to_item_cursor :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor ->
     Physical_value.item Cursor.cursor -> Physical_value.item Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_binary_item_cursor_to_item_list :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor ->
     Physical_value.item Cursor.cursor -> Physical_value.item list) ->
    Algebra_type.alg_eval_code
  val coerce_binary_item_cursor_to_tuple_cursor :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor ->
     Physical_value.item Cursor.cursor ->
     Physical_value.tuple_unit Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_cursor_to_item_cursor :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor -> Physical_value.item Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_list_to_item_list :
    (Execution_context.algebra_context ->
     Physical_value.item list -> Physical_value.item list) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_cursor_to_item_list :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor -> Physical_value.item list) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_list_to_xml :
    (Execution_context.algebra_context ->
     Physical_value.item list -> Physical_value.xml_value) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_list_to_physical_value :
    (Execution_context.algebra_context ->
     Physical_value.item list -> Physical_value.physical_value) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_list_to_tuple_cursor :
    (Execution_context.algebra_context ->
     Physical_value.item list -> Physical_value.tuple_unit Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_cursor_to_physical_value :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor -> Physical_value.physical_value) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_cursor_to_xml :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor -> Physical_value.xml_value) ->
    Algebra_type.alg_eval_code
  val coerce_unary_tuple_cursor_to_physical_value :
    (Execution_context.algebra_context ->
     Physical_value.tuple_unit Cursor.cursor -> Physical_value.physical_value) ->
    Algebra_type.alg_eval_code
  val coerce_binary_item_list_to_item_list :
    (Execution_context.algebra_context ->
     Physical_value.item list ->
     Physical_value.item list -> Physical_value.item list) ->
    Algebra_type.alg_eval_code
  val coerce_binary_xml_and_sax_to_sax :
    (Execution_context.algebra_context ->
     Physical_value.xml_value ->
     Streaming_types.typed_xml_stream -> Streaming_types.typed_xml_stream) ->
    Algebra_type.alg_eval_code
  val coerce_binary_item_cursor_and_sax_to_sax :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor ->
     Streaming_types.typed_xml_stream -> Streaming_types.typed_xml_stream) ->
    Algebra_type.alg_eval_code
  val coerce_binary_xml_and_xml_to_sax :
    (Execution_context.algebra_context ->
     Physical_value.xml_value ->
     Physical_value.xml_value -> Streaming_types.typed_xml_stream) ->
    Algebra_type.alg_eval_code
  val coerce_many_sax_to_sax :
    (Execution_context.algebra_context ->
     Streaming_types.typed_xml_stream array ->
     Streaming_types.typed_xml_stream) ->
    Algebra_type.alg_eval_code
  val coerce_many_sax_to_item_list :
    (Execution_context.algebra_context ->
     Streaming_types.typed_xml_stream array -> Physical_value.item list) ->
    Algebra_type.alg_eval_code
  val coerce_many_xml_to_tuple :
    (Execution_context.algebra_context ->
     Physical_value.xml_value array -> Physical_value.tuple_unit) ->
    Algebra_type.alg_eval_code
  val coerce_many_item_cursor_to_item_cursor :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor array ->
     Physical_value.item Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_many_item_list_to_item_list :
    (Execution_context.algebra_context ->
     Physical_value.item list array -> Physical_value.item list) ->
    Algebra_type.alg_eval_code
  val coerce_many_item_cursor_to_physical_value :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor array -> Physical_value.physical_value) ->
    Algebra_type.alg_eval_code
  val coerce_binary_item_cursor_tuple_cursor_to_tuple_cursor :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor ->
     Physical_value.tuple_unit Cursor.cursor ->
     Physical_value.tuple_unit Cursor.cursor) ->
    Algebra_type.alg_eval_code
  val coerce_unary_item_cursor_to_algebra_context :
    (Execution_context.algebra_context ->
     Physical_value.item Cursor.cursor -> Execution_context.algebra_context) ->
    Algebra_type.alg_eval_code_prolog
  val coerce_unit_to_algebra_context :
    (Execution_context.algebra_context ->
     unit -> Execution_context.algebra_context) ->
    Algebra_type.alg_eval_code_prolog
end