 			throw error(.unexpectedArgument)
 		}
 		
-		registers[reg] = try pop()
+		setRegValue(try pop(), for: reg)
 		
 		return pc + 1
 	}

				
				pc = try popFunctionInvoke()
				
			} else if let functionHeader = bytecode[pc] as? BytecodeFunctionHeader {

				guard let funcEndPc = functionEndMap[functionHeader.id] else {
					throw error(.unexpectedArgument)
				}
				
				pc = funcEndPc + 1
				

			throw error(.unexpectedArgument)
		}
		
		try removeRegValue(in: reg)
		
		return pc + 1
	}
