Depends on the data, but I have to ask why does the type matter in "data structures" in the first place in your client side language? Or even your server-side?
I mean mostly when I have "data structures" they're the result of database. In DB strict casting makes sense for storage and efficiency purposes, but outside that?
I mean server-side if you're gluing it to markup, you need it to be strings. Client side if you're pulling it off the DOM, it's a string (with like one exception). If you're passing it around in JSON, it's been stringified even if the JSON decode / parser tries to turn it into other types. The moment you pass it around via HTTP in HTML or XML, everything's a string.
So where does this magical fanciful need for forcing variables to specific types in PHP, JS, etc, come into play exactly? What benefits is it even providing when we have no pointers, no memory structure relationships, no micromanagement of memory allocation, or any of the other reasons language types even exist in the first place in languages like Pascal, Ada, C, and anything else that actually compiles down to where it matters?
It is thus I think that the whole "type safety" nonsense doesn't make a lick of sense.
It is thus when people talk about "data structures" I'm stuck wondering why you need "types" when you've got perfectly good names on the variables / object properties / "keys".
AT BEST "type safety" seems like a cop-out for people too lazy to write code properly in the places it matters whilst refusing to see how the moment transferring that data over the web gets involved, it no longer matters.