There's one important difference: aren't Rust structs unboxed by default, where in Haskell they are boxed by default?
Another possible gotcha is that by default Haskell records introduce a named accessor function into the surrounding scope. So defining two records with a `name` field next to each other is an error