Ast.BinarySourceinclude sig ... endtype functype = Make_types(X).functype = {params : valtype opt_annotated_array;results : valtype array;}type comptype = Make_types(X).comptype = | Func of functype| Struct of fieldtype annotated_array| Array of fieldtype| Cont of idxinclude sig ... endtype nonrec float_un_op = float_un_op = | Neg| Abs| Ceil| Floor| Trunc| Nearest| Sqrt| Convert of [ `I32 | `I64 ] * signage| Reinterprettype nonrec vec_un_op = vec_un_op = | VecNeg of vec_shape| VecAbs of vec_shape| VecSqrt of [ `F32 | `F64 ]| VecNot| VecTruncSat of [ `F32 | `F64 ] * signage| VecConvert of [ `F32 | `F64 ] * signage| VecExtend of [ `High | `Low ] * [ `_16 | `_32 | `_8 ] * signage| VecPromote| VecDemote| VecCeil of [ `F32 | `F64 ]| VecFloor of [ `F32 | `F64 ]| VecTrunc of [ `F32 | `F64 ]| VecNearest of [ `F32 | `F64 ]| VecPopcnt| VecExtAddPairwise of signage * [ `I16 | `I8 ]| VecRelaxedTrunc of signage| VecRelaxedTruncZero of signagetype nonrec vec_bin_op = vec_bin_op = | VecAdd of vec_shape| VecSub of vec_shape| VecMul of vec_shape| VecDiv of [ `F32 | `F64 ]| VecMin of signage option * vec_shape| VecMax of signage option * vec_shape| VecPMin of [ `F32 | `F64 ]| VecPMax of [ `F32 | `F64 ]| VecAvgr of [ `I16 | `I8 ]| VecQ15MulrSat| VecAddSat of signage * [ `I16 | `I8 ]| VecSubSat of signage * [ `I16 | `I8 ]| VecDot| VecEq of vec_shape| VecNe of vec_shape| VecLt of signage option * vec_shape| VecGt of signage option * vec_shape| VecLe of signage option * vec_shape| VecGe of signage option * vec_shape| VecAnd| VecOr| VecXor| VecAndNot| VecNarrow of signage * [ `I16 | `I8 ]| VecSwizzle| VecExtMulLow of signage * [ `_16 | `_32 | `_8 ]| VecExtMulHigh of signage * [ `_16 | `_32 | `_8 ]| VecRelaxedSwizzle| VecRelaxedMin of vec_shape| VecRelaxedMax of vec_shape| VecRelaxedQ15Mulr| VecRelaxedDottype nonrec vec_tern_op = vec_tern_op = | VecRelaxedMAdd of [ `F32 | `F64 ]| VecRelaxedNMAdd of [ `F32 | `F64 ]| VecRelaxedLaneSelect of vec_shape| VecRelaxedDotAddtype !'info instr_desc = | Block of {}| Loop of {}| If of {label : unit;typ : blocktype option;if_block : ('info instr list, location) annotated;else_block : ('info instr list, location) annotated;}| TryTable of {label : unit;typ : blocktype option;catches : catch list;block : ('info instr list, location) annotated;}| Try of {label : unit;typ : blocktype option;block : ('info instr list, location) annotated;catches : (idx * ('info instr list, location) annotated) list;catch_all : ('info instr list, location) annotated option;}| Unreachable| Nop| Throw of idx| ThrowRef| ContNew of idx| ContBind of idx * idx| Suspend of idx| Resume of idx * on_clause list| ResumeThrow of idx * idx * on_clause list| ResumeThrowRef of idx * on_clause list| Switch of idx * idx| Br of idx| Br_if of idx| Br_table of idx list * idx| Br_on_null of idx| Br_on_non_null of idx| Br_on_cast of idx * Make_types(X).reftype * Make_types(X).reftype| Br_on_cast_fail of idx * Make_types(X).reftype * Make_types(X).reftype| Br_on_cast_desc_eq of idx * Make_types(X).reftype * Make_types(X).reftype| Br_on_cast_desc_eq_fail of idx * Make_types(X).reftype * Make_types(X).reftype| Hinted of bool * 'info instr| Return| Call of idx| CallRef of idx| CallIndirect of idx * typeuse| ReturnCall of idx| ReturnCallRef of idx| ReturnCallIndirect of idx * typeuse| Drop| Select of Make_types(X).valtype list option| LocalGet of idx| LocalSet of idx| LocalTee of idx| GlobalGet of idx| GlobalSet of idx| Load of idx * memarg * num_type| LoadS of idx * memarg * [ `I32 | `I64 ] * [ `I16 | `I32 | `I8 ] * signage| Store of idx * memarg * num_type| StoreS of idx * memarg * [ `I32 | `I64 ] * [ `I16 | `I32 | `I8 ]| Atomic of idx * atomicop * memarg| AtomicFence| MemorySize of idx| MemoryGrow of idx| MemoryFill of idx| MemoryCopy of idx * idx| MemoryInit of idx * idx| DataDrop of idx| TableGet of idx| TableSet of idx| TableSize of idx| TableGrow of idx| TableFill of idx| TableCopy of idx * idx| TableInit of idx * idx| ElemDrop of idx| RefNull of Make_types(X).heaptype| RefFunc of idx| RefIsNull| RefAsNonNull| RefEq| RefTest of Make_types(X).reftype| RefCast of Make_types(X).reftype| RefCastDescEq of Make_types(X).reftype| RefGetDesc of idx| StructNew of idx| StructNewDefault of idx| StructNewDesc of idx| StructNewDefaultDesc of idx| StructGet of signage option * idx * idx| StructSet of idx * idx| ArrayNew of idx| ArrayNewDefault of idx| ArrayNewFixed of idx * Uint32.t| ArrayNewData of idx * idx| ArrayNewElem of idx * idx| ArrayGet of signage option * idx| ArraySet of idx| ArrayLen| ArrayFill of idx| ArrayCopy of idx * idx| ArrayInitData of idx * idx| ArrayInitElem of idx * idx| RefI31| I31Get of signage| Const of (Int32.t, Int64.t, Int32.t, float) op| BinOp of (int_bin_op, int_bin_op, float_bin_op, float_bin_op) op| UnOp of (int_un_op, int_un_op, float_un_op, float_un_op) op| Add128| Sub128| MulWide of signage| VecConst of string| VecUnOp of vec_un_op| VecBinOp of vec_bin_op| VecTest of vec_test_op| VecShift of vec_shift_op| VecBitmask of vec_bitmask_op| VecTernOp of vec_tern_op| VecBitselect| VecLoad of idx * vec_load_op * memarg| VecStore of idx * memarg| VecLoadLane of idx * [ `I16 | `I32 | `I64 | `I8 ] * memarg * int| VecStoreLane of idx * [ `I16 | `I32 | `I64 | `I8 ] * memarg * int| VecLoadSplat of idx * [ `I16 | `I32 | `I64 | `I8 ] * memarg| VecExtract of vec_shape * signage option * int| VecReplace of vec_shape * int| VecSplat of vec_shape| VecShuffle of string| I32WrapI64| I64ExtendI32 of signage| F32DemoteF64| F64PromoteF32| ExternConvertAny| AnyConvertExtern| Folded of 'info instr * 'info instr list| String of idx option * (string, location) annotated list| Char of Uchar.t| If_annotation of {cond : cond;then_body : ('info instr list, location) annotated;else_body : ('info instr list, location) annotated option;}type import_entry = | Single of import| Group1 of {module_ : string;items : (string * importdesc) list;}| Group2 of {module_ : string;desc : importdesc;names : string list;}type names = {module_ : string option;functions : name_map;locals : indirect_name_map;labels : indirect_name_map;types : name_map;fields : indirect_name_map;globals : name_map;tables : name_map;memories : name_map;data : name_map;elem : name_map;}type 'info module_ = {types : rectype list;imports : import_entry list;functions : idx list;tables : 'info table list;memories : limits list;globals : 'info global list;exports : export list;start : idx option;elem : 'info elem list;code : 'info code list;data : 'info data list;names : names;target_features : (char * string) list;}A Wasm module in binary format.