Tagged unions are not nearly as ergonomic as variants.
I agree you can do exhaustive pattern matching, and the type checker will prevent errors, but the fact that those objects are structurally typed makes them extremely unpleasant to work with on a daily basis (verbose, and type errors are hard to read).
Oftentimes it’s easier to just use less correct boolean or enums before going with tagged unions.