It's slow with pypy because of some problems with pyo3's interaction with pypy, not a pure python fallback.
I agree unions were wrong in V1, but smart unions helped, and unions are fixed properly in V2.
I agree unions were wrong in V1, but smart unions helped, and unions are fixed properly in V2.
Of course there was an incompatible api change there, where the smart union parameter got removed and it's impossible to obtain the old (and completely wrong) behaviour. I'm sure someone relies on that.