type record_representation =
| Record_regular
| Record_inlined of {
tag: int,
name: string,
num_nonconsts: int,
}
| Record_extension
;
type t =
| Pbytes_to_string
| Pbytes_of_string
| Pmakeblock(int, Lam_tag_info.t, Asttypes.mutable_flag)
| Pfield(int, Melange_compiler_libs.Lambda.field_dbg_info)
| Psetfield(int, Melange_compiler_libs.Lambda.set_field_dbg_info)
| Pduprecord(record_representation)
| Plazyforce
| Pccall of {
prim_name: string,
}
| Pjs_call of {
prim_name: string,
arg_types: External_arg_spec.params,
ffi: External_ffi_types.external_spec,
}
| Pjs_object_create(External_arg_spec.obj_params)
| Praise
| Psequand
| Psequor
| Pnot
| Pnegint
| Paddint
| Psubint
| Pmulint
| Pdivint
| Pmodint
| Pandint
| Porint
| Pxorint
| Plslint
| Plsrint
| Pasrint
| Poffsetint(int)
| Poffsetref(int)
| Pintoffloat
| Pfloatofint
| Pnegfloat
| Paddfloat
| Psubfloat
| Pmulfloat
| Pdivfloat
| Pintcomp(Lam_compat.integer_comparison)
| Pfloatcomp(Lam_compat.float_comparison)
| Pjscomp(Lam_compat.integer_comparison)
| Pint64comp(Lam_compat.integer_comparison)
| Pjs_apply
| Pjs_runtime_apply
| Pstringlength
| Pstringrefu
| Pstringrefs
| Pstringadd
| Pbyteslength
| Pbytesrefu
| Pbytessetu
| Pbytesrefs
| Pbytessets
| Pbytes_load_16(bool)
| Pbytes_load_32(bool)
| Pbytes_load_64(bool)
| Pbytes_set_16(bool)
| Pbytes_set_32(bool)
| Pbytes_set_64(bool)
| Pmakearray
| Parraylength
| Parrayrefu
| Parraysetu
| Parrayrefs
| Parraysets
| Pisint
| Pis_poly_var_const
| Pisout(int)
| Pint64ofint
| Pintofint64
| Pnegint64
| Paddint64
| Psubint64
| Pmulint64
| Pdivint64
| Pmodint64
| Pandint64
| Porint64
| Pxorint64
| Plslint64
| Plsrint64
| Pasrint64
| Pctconst(Lam_compat.compile_time_constant)
| Pbswap16
| Pbbswap(Lam_compat.boxed_integer)
| Pdebugger
| Pjs_unsafe_downgrade of {
name: string,
setter: bool,
loc: Melange_compiler_libs.Location.t,
}
| Pinit_mod
| Pupdate_mod
| Praw_js_code(Js_raw_info.t)
| Pjs_fn_make(int)
| Pvoid_run
| Pfull_apply
| Pjs_fn_method
| Pundefined_to_opt
| Pnull_to_opt
| Pnull_undefined_to_opt
| Pis_null
| Pis_undefined
| Pis_null_undefined
| Pjs_typeof
| Pjs_function_length
| Pcaml_obj_length
| Pwrap_exn
| Pcreate_extension(string)
| Pis_not_none
| Pval_from_option
| Pval_from_option_not_nest
| Psome
| Psome_not_nest
| Pfield_computed
| Psetfield_computed
;
let eq_primitive_approx: t => t => bool;