Two things contradict what we have said about primitives versus objects: The type of a function is 'function' and not 'object'. Given that Function (the type of functions) is a subtype of Object (the type of objects), this isn’t wrong. The type of null is 'object'. This is a bug, but one that can’t be fixed, because it would break existing code. instanceof looks like this: «value» instanceof «Cons