# no return in the outer sub sub go { do_it or try_again; ... }