# KOS_OP_MATCH_TYPE_VAR / KOS_OP_MATCH_TYPE_FAST - **Style**: EXTRA (LABEL, VAR) on `MATCH_TYPE_VAR`, (LABEL, FASTVAR) on `MATCH_TYPE_FAST`: label, type. - **Stack**: `[..., e]` -> `[..., e]`; jump to `a0` on a miss, `e` left either way. - **Semantics**: `e` read through `Datum` must be an instance of the type in the variable `a1`, read by name on the `_VAR` form and by fast index on the `_FAST` form. - **Compiler form:** Emitted by the match compiler for a type test and for the instance check of a class pattern with no positional fields; the `_VAR` form pre-compile, the `_FAST` twin once `convert_fast` has lowered the variable.