Connections, sessions and links can all have application defined properties. C++ and Go lack options to set these and accessors to read the remote properties.
Python has the old style:
c.properties == local properties, must set before open.
c.remote_properties == remote properties
Ruby has a :properties option to open, and an accessor:
c.properties == remote properties
I guess C++/go should follow ruby - a properties option for each endpoint type and a properties accessor that returns the remote props?