However, the rest of my life is just too long
Someone has better statistics of heart problems among their relatives than I have... :-)
wouldn't choose foreach as the single looping construct, as I've learnt that it wouldn't give me a Turing-complete language.
A language with 'if' statements, blocks and foreach should be Turing complete? Write a state engine with if conditions -- put inside an infinitely looping foreach. (-: To get that foreach, lazy eval would be a feature, of course. :-)
To chose goto and learn source filtering to get everything else is cheating, I guess.