.TH "Oo" 3o source: 2019-01-25 OCamldoc "OCaml library" .SH NAME Oo \- Operations on objects .SH Module Module Oo .SH Documentation .sp Module .BI "Oo" : .B sig end .sp Operations on objects .sp .sp .sp .I val copy : .B (< .. > as 'a) -> 'a .sp .B Oo\&.copy o returns a copy of object .B o , that is a fresh object with the same methods and instance variables as .B o \&. .sp .I val id : .B < .. > -> int .sp Return an integer identifying this object, unique for the current execution of the program\&. The generic comparison and hashing functions are based on this integer\&. When an object is obtained by unmarshaling, the id is refreshed, and thus different from the original object\&. As a consequence, the internal invariants of data structures such as hash table or sets containing objects are broken after unmarshaling the data structures\&. .sp