Print a friendly error for the if-let construct without an else block

Fixes #19991.
I'd prefer to just use ty_nil (or whatever it has changed to now, I think it is just a 0-element tuple), if that is what you want here. It's not clear to me that bty must be nil, even if it is now.