while が意味を持つためには副作用が要るから。

begin (progn) も関数型でない。