@yyp well, you've actually got three point of switch. It's not checkout and not restore. If you're incorporating restore in your workflow, it seems like a good idea to use switch which completely distinguishes two behaviors for you. Also, 'switch -c' after hitting non-existing branch feels really natural to me.
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.