The Dart implementation of the instance in Hetu.
HTInstance carries all decl from its super classes.
HTInstance inherits all its super classes' HTTypeIDs.
A prototype based dynamic object.
You can define and delete members in runtime.
Use prototype to create and extends from other object.
Can be named or anonymous.
Unlike class, you have to use 'this' to
access struct member within its own methods
a HTStruct in Dart side works just like a normal Map
you can access and modify its member via '[]' operator
and it has several same apis like Map, e.g. contains, remove, etc.