1
A number of notations exist for describing relations, e.g. UML (Unified Modeling Language).
2
In most object-oriented languages, a dot notation is used. However, the dot notation was already used for records and modules, so a new symbol was needed.
3
The private of Objective CAML corresponds to protected of Objective C, C++ and Java