loop and doLoop accept no func, and are infinite loops