Oh, thanks. I'd totally misunderstood how return actually worked.
Hmm, I guess I made a false implication from this note in the book that's right before a return-with-a-semicolon example:
but with a semicolon, it would return () instead
Interesting that "!" and "!;" have the same type, but "i32" and "i32;" don't. (And it's not that Never
infects everything after it; it seems "!" and "!;()" don't have the same type either.) That's a bit odd, but I guess not something that can be fixed now.