In realtà, quello che un pò pericolo è l'affidarsi al solo ritorno a capo come delimitatore di subcodice.
Tutti i linguaggi hanno un delimitatore ben priciso, almeno per quanto riguarda il begin di una funzione. Python, ad esempio, usao il due punti per iniziare (identificare l'inizio) di una funzione o anche un if, e termina quanto se ne aggiunge un'altro.
L'accapo è un retaggio di basic. In C la riga delle istruzioni termina solo con il punto e virgola.
In ogni caso c'è un carattere ben definito e VISIBILE come delimitatore.