Obj
is not part of the OCaml language and is not meant to be used by the general public. This module can be used to access the representation of OCaml values at runtime, but is fully and wholly unsafe: it is very easy to either cause an immediate segfault or break subtle invariants that will cause a segfault at some indeterminate future point in time. It is used by the compiler to implement certain runtime operations but, again, it is not meant to be used for general programming, as it can easily break the soundness of the language.
Or, said more colorfully:
https://sympa.inria.fr/sympa/arc/caml-list/2005-07/msg00223.html
You may find the following article interesting:
Cheers,
Nicolas