type mutable_flag = Asttypes.mutable_flagtype immediate_or_pointer = Lambda.immediate_or_pointertype initialization_or_assignment = Lambda.initialization_or_assignmenttype is_safe = Lambda.is_safetype boxed =| Boxed| Unboxedtype memory_access_size =| Sixteen| Thirty_two| Sixty_fourtype primitive =| Pread_symbol of string| Pmakeblock of int * mutable_flag * block_shape| Pfield of int| 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| 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| 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 ofPduparraygive 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| Popaqueand integer_comparison = Lambda.integer_comparison =| Ceq| Cne| Clt| Cgt| Cle| Cgeand float_comparison = Lambda.float_comparison =| CFeq| CFneq| CFlt| CFnlt| CFgt| CFngt| CFle| CFnle| CFge| CFngeand array_kind = Lambda.array_kind =| Pgenarray| Paddrarray| Pintarray| Pfloatarrayand value_kind = Lambda.value_kind =| Pgenval| Pfloatval| Pboxedintval of boxed_integer| Pintvaland block_shape = Lambda.block_shapeand boxed_integer = Primitive.boxed_integer =| Pnativeint| Pint32| Pint64and bigarray_kind = Lambda.bigarray_kind =and bigarray_layout = Lambda.bigarray_layout =| Pbigarray_unknown_layout| Pbigarray_c_layout| Pbigarray_fortran_layoutand raise_kind = Lambda.raise_kind =| Raise_regular| Raise_reraise| Raise_notrace