# KOS_OP_UNPACK_VAR - **Style**: EXTRA (`VAR`, `VAR`, `NOARG`, `NOARG`). Row: `a0`, `a1` = constant pool indices of the two names (strings). - **Stack**: `[..., raw] → [...]`. No values pushed; **STORE** semantics only (same as `VAR_STORE` / `KosNamespace_Store` through `frame_ns_store`): `seq[0]` into the first name, `seq[1]` into the second. Pop TOS, `PySequence_List`, require `len == 2`, then store; release the temporary list. - **Invariants**: Both names must already be bound in the frame namespace (see §1.9 STORE vs BIND). - **Errors**: `ValueError` if length ≠ 2. - **Compiler form:** Pre-compile extra tuple `(name0, name1, 0, 0)`; names intern to cpool like other `VAR` extra fields.