There were several attempts to emulate structs in Mathematica. Emphasis on *emulate*, since AFAIK there is no built - in support for it yet. One reason for that may be that structs are inherently mutable, while idiomatic Mathematica gravitates towards immutability. You may find these discussions interesting: [Struct-data-type-in-mathematica][1] [Object-oriented-mathematica-programming][2] [Question-on-setting-up-a-struct-in-mathematica-safely][3] [Mathematica-oo-system-or-alternatives][4] My own take on it is in this answer: [Tree-data-structure-in-mathematica][5] where I describe one possible emulation of structs, which I use every now and then when I need something like a struct (this is, of course, a personal preference. There are many ways to do this). It looks to be somewhat similar to your method. For a recent use case where I put similar approach to heavy use and where it *really pays off* (because structs are not the bottleneck there), see [this answer][6], where I use this as an encapsulation mechanism for file-backed lists. That said, a built-in support for mutable structures would be, I think, very desirable. Three major reasons I could think of, why various emulation approaches did not really take off: - Performance. Structs are the work-horse of data structures, and their performance is critical. OTOH, all emulations which are to be general, are bound to use the top-level code, and that is slow. - Garbage collection. The available ways to create encapsulated mutable state almost always involve creating definitions for symbols, and those definitions are frequently not automatically amenable to garbage collection - (The lack of) standardization. If there were a single emulation which would accumulate a significant code base, tools and practices of using it, that may have been different. [1]: http://stackoverflow.com/questions/1453006/struct-data-type-in-mathematica [2]: http://stackoverflow.com/questions/7363253/object-oriented-mathematica-programming [3]: http://stackoverflow.com/questions/7356691/question-on-setting-up-a-struct-in-mathematica-safely [4]: http://stackoverflow.com/questions/6446297/mathematica-oo-system-or-alternatives [5]: http://stackoverflow.com/questions/6097071/tree-data-structure-in-mathematica/6097444#6097444 [6]: https://mathematica.stackexchange.com/questions/36/file-backed-lists-variables-for-handling-large-data/209#209