sig
  type submode_t = [ `Eager | `Lazy ]
  val gen_body :
    Flx_mtypes2.sym_state_t ->
    Flx_call.usage_table_t * Flx_child.child_map_t *
    Flx_types.fully_bound_symbol_table_t ->
    string ->
    (int, Flx_types.btypecode_t) Hashtbl.t ->
    Flx_types.bparameter_t list ->
    (string, string) Hashtbl.t ->
    (Flx_ast.bid_t, Flx_ast.bid_t) Hashtbl.t ->
    Flx_types.bexe_t list ->
    Flx_types.tbexpr_t ->
    Flx_ast.range_srcref ->
    int ->
    Flx_ast.bid_t ->
    Flx_types.bvs_t ->
    int ->
    Flx_spexes.submode_t -> Flx_ast.property_t list -> Flx_types.bexe_t list
  val recal_exes_usage :
    Flx_mtypes2.sym_state_t ->
    Flx_call.usage_table_t ->
    Flx_ast.range_srcref ->
    int -> Flx_types.bparameter_t list -> Flx_types.bexe_t list -> unit
end