Thank you so much for the appreciation of my labors! I have read the article you recommended. A lot of things are done there that I would have done myself. Initially I made a very cumbersome code for Objects, where there were a lot of checks. Plus I redefined a lot of things. For example, I also overridden the Dot function, and I also made it so that using SyntaxInformaton, information for autocompletion is added to objects on the fly. But it turned out to be complicated and slow. In the end, I removed all the unnecessary stuff to avoid scaring Mathematica users with things that don't fit the syntax of the language, and tried to keep the objects as simple as possible - they're essentially typed variable associations. It's also like the OOP format from JavaScript. But it's more important than anything else. Our mini-team (me and Kirill Vasin) started to actively use the Objects package in our work and we encountered performance problems. A lot of conditions and checks slow down atomic operations like getting and changing the value of an object field. As a result, now we managed to achieve something more or less useful from the design point of view and almost as productive as built-in lists or associations.