It’s not type piracy, but it does cause a TON of method invalidations so it’s really bad for compiler latency.
And yes, you’re right that it’s likely a bad idea even if it’s not piracy and even if you don’t care about latency because it can lead to surprising and unexpected behaviour.