begin .. until
Refactored begin .. until (preparing for next type)