Melange_compiler_libs.Predef
let type_int: Types.type_expr;
let type_char: Types.type_expr;
let type_string: Types.type_expr;
let type_bytes: Types.type_expr;
let type_float: Types.type_expr;
let type_bool: Types.type_expr;
let type_unit: Types.type_expr;
let type_exn: Types.type_expr;
let type_array: Types.type_expr => Types.type_expr;
let type_list: Types.type_expr => Types.type_expr;
let type_option: Types.type_expr => Types.type_expr;
let type_nativeint: Types.type_expr;
let type_int32: Types.type_expr;
let type_int64: Types.type_expr;
let type_lazy_t: Types.type_expr => Types.type_expr;
let type_extension_constructor: Types.type_expr;
let type_floatarray: Types.type_expr;
let path_int: Path.t;
let path_char: Path.t;
let path_string: Path.t;
let path_bytes: Path.t;
let path_float: Path.t;
let path_bool: Path.t;
let path_unit: Path.t;
let path_exn: Path.t;
let path_array: Path.t;
let path_list: Path.t;
let path_option: Path.t;
let path_nativeint: Path.t;
let path_int32: Path.t;
let path_int64: Path.t;
let path_lazy_t: Path.t;
let path_extension_constructor: Path.t;
let path_floatarray: Path.t;
let path_match_failure: Path.t;
let path_assert_failure: Path.t;
let path_undefined_recursive_module: Path.t;
let build_initial_env:
(Ident.t => Types.type_declaration => 'a => 'a) =>
(Ident.t => Types.extension_constructor => 'a => 'a) =>
'a =>
'a;
All predefined exceptions, exposed as Ident.t
for flambda (for building value approximations). The Ident.t
for division by zero is also exported explicitly so flambda can generate code to raise it.