The code intentionally didn't print a newline when the WRITER is [] because, when a procedure
is defined with TO, it prints each line using printfx(), which always writes a newline. However,
for procedures defined with DEFINE, it doesn't use that function, so no newline was written.
The fix is a little bit of refactoring that prints the newline differently depending on whether
the procedures was defined with TO or DEFINE.