Iād consider main being able to return a Result a fun piece of trivia at least for now, not something useful except in tiny fire-and-forget programs. Better to just delegate to another function and handle its return value in main however you like.
I use main returning anyhow::Result<()> in nearly every program I write - it's there not as the "normal" error handling path, but as a back-stop for cases where I think the error handling is never going to come into play.
This then means that things that can return an error that I think "will never happen" use ? to return it from main, instead of unwrap() - but any error that I expect to handle is handled separately before I get this far.