#source fun add(a: int | float, b: bool | Map) { return a + b; } #bytecode PUSHFUN fun, 2; ASS "add"; POP 1; JUMP end; fun: PUSHVAR "bool"; PUSHVAR "Map"; STP; CHECKTYPE 1, "b"; ASS "b"; POP 1; PUSHVAR "int"; PUSHVAR "float"; STP; CHECKTYPE 0, "a"; ASS "a"; POP 1; PUSHVAR "a"; PUSHVAR "b"; ADD; RETURN 1; RETURN 0; end: EXIT;