sig
  val build_scalar_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Xquery_common_ast.literal ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_seq_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_imperative_seq_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_empty_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_error_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_document_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_pi_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Namespace_names.ncname * string ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_picomputed_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_comment_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Datatypes.xs_untyped ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_commentcomputed_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_text_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Datatypes.xs_untyped ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_charref_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    int ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_textcomputed_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_elem_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Namespace_symbols.relem_symbol * Namespace_context.nsenv ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_anyelem_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Namespace_context.nsenv ->
    Namespace_context.nsenv ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_attr_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Namespace_symbols.rattr_symbol ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val build_anyattr_code :
    Code_selection_context.code_selection_context ->
    Algebra_type.algop_expr ->
    Namespace_context.nsenv ->
    Algebra_type.alg_eval_code_dep *
    Code_selection_context.code_selection_context
  val select_physical_op :
    Code_selection_context.code_selection_context ->
    Xquery_algebra_ast.input_signature ->
    Algebra_type.algop_expr -> Xquery_physical_algebra_ast.physop_expr_name
end