That's right! I think it's a good balance between giving the typechecker the info it needs, but also being flexible in how you can supply it!
I'm imagining you're going to want a kick-ass IDE/linter/VSCode plugin to handle the case when you create a new variable that matches an existing pattern, and automatically making existing references more precise.
Though it might be easier to go the other way - at the presentation layer, automatically shorten variables to the least specific yet unique suffix or something.