pub type VmFunction3<Aux, T1, T2, T3> = fn(&mut Vm<'_, Aux>, T1, T2, T3) -> Result<Value, ExecutionErrorPayload>;