Also called Nominal Typing. I generally consider it a mistake. Interfaces aren't just a bag of fields and methods. They encode semantics, too. Otherwise, you could dismiss employees with a gun or by loading them into a kiln.
Anyway, row polymorphism can technically be used with nominal typing, it's just that it usually makes sense to use structural typing instead.
The key benefit of row polymorphism is a bit of an implementation detail - it lets you get something resembling (a limited form of) subtyping in your language, without needing as complicated a type inference algorithm as fully-general subtyping requires.
Row polymorphism can be (IMO should usually be) made opt-in, so you can avoid problems like the scenario you describe.
You can make the same argument for numbers, for an easy exploration. Just look at all of the tools that you can have at your disposal by thinking of things as numbers.