use linked lists instead of regular lists. better models the step-by-step nature of bytecode, and the branching nature of code in general. might make my own specialized implementation to handle branches easier.