while は named let、つまり lambda で書けるんだが