added 8.6.95. Jonathan Poole.
There are two type of objects: UC++ ones that have been seen by the scanner and C++ ones that have not. All UC++ objects have extractor and insertors defined for InputMessage and OutputMessage, so that instead of the object being passed only the Vpid is passed. However, these extractors do not distinguish between active and passive UC++ objects: they assume all UC++ objects will be active. Under the current model, passive UC++ objects need to be passed by copy.
If we have lightweight objects then all UC++ objects will indeed become active, in the sense that they will have a single, network-wide location.