exposed loop precondition