// - Flow Control
extern void Bytecode_AppendJump(tBC_Function *Handle, int Label);
extern void Bytecode_AppendCondJump(tBC_Function *Handle, int Label);
+extern void Bytecode_AppendCondJumpNot(tBC_Function *Handle, int Label);
extern void Bytecode_AppendReturn(tBC_Function *Handle);
// - Operation Stack
// > Load/Store
extern void Bytecode_AppendConstReal(tBC_Function *Handle, double Value);
extern void Bytecode_AppendConstString(tBC_Function *Handle, const void *Data, size_t Length);
// > Scoping
-extern void Bytecode_AppendSubNamespace(tBC_Function *Handle, const char *Name); // Pop NS from stack, go to child, push ("" = root)
extern void Bytecode_AppendElement(tBC_Function *Handle, const char *Name); // Obj->SubObj
extern void Bytecode_AppendIndex(tBC_Function *Handle); // Index into an array
// > Function Calls
extern void Bytecode_AppendBinOp(tBC_Function *Handle, int Operation);
extern void Bytecode_AppendUniOp(tBC_Function *Handle, int Operation);
extern void Bytecode_AppendCast(tBC_Function *Handlde, int Type);
+extern void Bytecode_AppendDuplicate(tBC_Function *Handlde);
+extern void Bytecode_AppendDelete(tBC_Function *Handle);
// - Context
// TODO: Are contexts needed? Should variables be allocated like labels?
extern void Bytecode_AppendEnterContext(tBC_Function *Handle);