Also must invoke BEGIN/END when no defs
WIP
WIP towards repeat while construct
WIP
WIP
Much better; still not quite there
debugging