s can't return a reference to the Primitive because its
memory layout is abstracted. Instead a Proxy object is returned. That Proxy
supports importing or exporting data to and from the Container. The actual type
of Proxy objects is an implementation detail, but they all support the same
public interface which we will document.
[index] operator returns a Proxy object.
[index] operator returns a ConstProxy object.
The Proxy objects provide a Data Member Interface where for each data
they are representing, a member access method is
defined which returns a new Proxy or ConstProxy representing just that data
member. Users can drill down through a complex data structure to get a Proxy
representing the exact data member they need versus importing and exporting the
entire Primitive value.
Proxy objects also overload the following operators if the underlying