In some cases, for example when implementing a trait, it might be desirable to implement a Result, when we know that the error will never happen. The standard library has std::convert::Infallible for that. It's there possible to not use .unwrap() but let Ok(v) = result instead, which gives a stack guarantee. In this case, Infallible is not special, and any uninhabited type can be used for that, even the never type: ! .
Rust allows let without assignment, so a variable can be assigned only once later (mutation is still disallowed). This can be used to escape blocks, or to make multiple assignements in blocks more readable. Waffle also showed a much cooler trick to prevent using Trait objects, but for that you'll have to watch the video!