On 12/13/2017 08:20 AM, Eli Zaretskii wrote: > using a (fake) pointer is only marginally safer than using an > integer, isn't it? The fake pointer catches (at compile-time) common faults like the one the attached patch fixes, where an int was passed where a Lisp_Object was expected. These are the most important faults that --enable-check-lisp-object-type catches. We could say that the fake pointer is only marginally safer, in the sense that --enable-check-lisp-object-type is only marginally safer than --disable-check-lisp-object-type. However, this marginal safety is useful; and once you have the fake pointer, --enable-check-lisp-object-type doesn't buy much extra safety that is useful.