> Structural types does not preclude having some names that prevent mix-ups. Haskell’s `data` keyword doesn’t let you confuse structurally-identical things.

Haskell doesn't let you confuse structurally-indentical things because it is nominal, not structural.