4.3.3 Access specifiers

This object model does not support making parts of the instance data accessible to code outside the class (such fields are often designated with a public access specifier in object-oriented languages). Such support could easily be added (by exposing a structure containing the public fields, and adding an operation to the Fundamental interface returning a pointer to this structure), but it is probably preferable to eschew exposing parts of the instance data for reasons of encapsulation.

All operations that are part of a dispatch table are per definition publicly accessible. Private operations are easily realized by simply not exposing them in a dispatch table (and declaring them static). (Private operations are always bound to statically, as they may only be accessed by operations that belong to their own class.)

Object-oriented languages often support a protected access specifier that exposes a field or operation only to descendant classes. As this object model does not support implementation inheritance, there is no need for such an access specifier.