> the example from John, > Object o = new Object(); > o instanceof RefObject One way to fix this is: have `new Object` instantiate not an Object, but a RefObject. (This sort of recognizes that Object is half interface, half class.) The weird part is that then “new Object().getClass() != Object.class.