`defined?` and `while` should throw `wrong-type` where appropriate.