I did that, and turned up at least one place where that resulted in a silently bad message rather than an error.  Having it default to nil is convenient but risky, and given the lack of other appropriate type checking possible, I felt this was the better balance.