reliance on subclasses. See "torchdynamo/variables/" for all
subclasses to fulfill contracts and custom behaviors.
Knowing what we know now, we can see an example of how an instruction
from "dis", "BUILD_TUPLE":
"BUILD_TUPLE(count)" Creates a tuple consuming count items from the
   stack, and pushes the resulting tuple onto the stack.
In our case, our signature will be a little different due to the way
we create "Instruction" objects, but the gist of it will be the same.
Instead of passing in "count", we pass in an object with a little
extra bookkeeping, and of course, we deal with turning regular old
python objects into TorchDynamo notions:
def BUILD_TUPLE(self, inst):
       items = self.popn(inst.argval)
       options = VariableTracker.propagate(items)
       self.push(TupleVariable(items, **options))
Here is what this code does:

The function reads "argval", which in this case, is analogous to
   "counts" in the pydoc for the equivalent instruction.
