This is used as a reference to the data type that has Object type as its parent class. Basically, it acts as a smart pointer to the Object type. ObjectRef can also be used as a reference to HARK Object types and HARK specific types since they also have Object as the parent class. Primitive types, as mentioned previously, can be delegated as an ObjectRef , since it will be converted to NetCType$<$T$>$, and then become a subclass of Object .