Clambda_primitivestype mutable_flag = Asttypes.mutable_flagtype immediate_or_pointer = Lambda.immediate_or_pointertype initialization_or_assignment = Lambda.initialization_or_assignmenttype is_safe = Lambda.is_safetype primitive = | Pread_symbol of string| Pmakeblock of int * mutable_flag * block_shape| Pfield of int * immediate_or_pointer * mutable_flag| Pfield_computed| Psetfield of int * immediate_or_pointer * initialization_or_assignment| Psetfield_computed of immediate_or_pointer * initialization_or_assignment| Pfloatfield of int| Psetfloatfield of int * initialization_or_assignment| Pduprecord of Types.record_representation * int| Prunstack| Pperform| Presume| Preperform| Pccall of Primitive.description| Praise of raise_kind| Psequand| Psequor| Pnot| Pnegint| Paddint| Psubint| Pmulint| Pdivint of is_safe| Pmodint of is_safe| Pandint| Porint| Pxorint| Plslint| Plsrint| Pasrint| Pintcomp of integer_comparison| Pcompare_ints| Pcompare_floats| Pcompare_bints of boxed_integer| Poffsetint of int| Poffsetref of int| Pintoffloat| Pfloatofint| Pnegfloat| Pabsfloat| Paddfloat| Psubfloat| Pmulfloat| Pdivfloat| Pfloatcomp of float_comparison| Pstringlength| Pstringrefu| Pstringrefs| Pbyteslength| Pbytesrefu| Pbytessetu| Pbytesrefs| Pbytessets| Pmakearray of array_kind * mutable_flagFor Pmakearray, the list of arguments must not be empty. The empty array should be represented by a distinguished constant in the middle end.
| Pduparray of array_kind * mutable_flagFor Pduparray, the argument must be an immutable array. The arguments of Pduparray give the kind and mutability of the array being *produced* by the duplication.
| Parraylength of array_kind| Parrayrefu of array_kind| Parraysetu of array_kind| Parrayrefs of array_kind| Parraysets of array_kind| Pisint| Pisout| Pbintofint of boxed_integer| Pintofbint of boxed_integer| Pcvtbint of boxed_integer * boxed_integer| Pnegbint of boxed_integer| Paddbint of boxed_integer| Psubbint of boxed_integer| Pmulbint of boxed_integer| Pdivbint of {size : boxed_integer;is_safe : is_safe;}| Pmodbint of {size : boxed_integer;is_safe : is_safe;}| Pandbint of boxed_integer| Porbint of boxed_integer| Pxorbint of boxed_integer| Plslbint of boxed_integer| Plsrbint of boxed_integer| Pasrbint of boxed_integer| Pbintcomp of boxed_integer * integer_comparison| Pbigarrayref of bool * int * bigarray_kind * bigarray_layout| Pbigarrayset of bool * int * bigarray_kind * bigarray_layout| Pbigarraydim of int| Pstring_load of memory_access_size * is_safe| Pbytes_load of memory_access_size * is_safe| Pbytes_set of memory_access_size * is_safe| Pbigstring_load of memory_access_size * is_safe| Pbigstring_set of memory_access_size * is_safe| Pbswap16| Pbbswap of boxed_integer| Pint_as_pointer| Patomic_load of {immediate_or_pointer : immediate_or_pointer;}| Patomic_exchange| Patomic_cas| Patomic_fetch_add| Popaque| Pdls_get| Ppolland float_comparison = Lambda.float_comparison = and block_shape = Lambda.block_shapeand bigarray_kind = Lambda.bigarray_kind = and bigarray_layout = Lambda.bigarray_layout =