This revision optimizes resizable operand lists by allocating them in the same location as the trailing operands. This has numerous benefits:
- If the operation has at least one operand at construction time, there is 0 additional memory overhead to the resizable storage.
- There is less pointer arithmetic necessary as the resizable storage is now only used when the operands are dynamically allocated.