Since the lines are also null terminated, I think the next line pointers serve no purpose in a file other than as placeholders for when the file is loaded back in, block by block.
And that's the key I think. BA is an uncompressed binary format both in the RAM file system and on cassette or disk. The pointers need to be regenerated before execution because the position in RAM of the file changes. But the program content itself doesn't need moving around. -- John.
