Simple loops only auto yield if no other yields

Bug fixes, better tests