If you're going to dig around in the source code for a 1970's BASIC interpreter one of the more interesting commands to disassemble is 'RENUM'. It tells a lot about how the language stores its intermediate structure (not quite a bytecode, but it is highly tokenized).
RENUM takes a program that has had insertions done to it and renumbers the lines so they are multiples of 10 again. For added complexity and to avoid overwriting your carefully laid out library calls with high line number subroutines for easy memorization you could limit the range within which the RENUM would operate.
Typical use: RENUM 0,1000,10 -> renumber all the lines from 0 to 1000 with a step of 10.
I suppose heaven help you if you wanted to insert a statement between cards 37 and 38 :-)