While the latter is mentioned as a way of saying "this computation will never fail if it returns," the former is a way of saying "this computation will never return unless it fails."
For example, it makes a lot of sense to make Command::exec return Result<!, Error>, even though it currently just returns Error (which can't be changed without breaking stability guarantees). Demonstrating both cases seems like a good idea.
While the latter is mentioned as a way of saying "this computation will never fail if it returns," the former is a way of saying "this computation will never return unless it fails."
For example, it makes a lot of sense to make
Command::execreturnResult<!, Error>, even though it currently just returnsError(which can't be changed without breaking stability guarantees). Demonstrating both cases seems like a good idea.