I suspect this dates from way back when we were just getting Linux support up and running, and still wanted to differentiate Builtin.AnyObject from Builtin.NativeObject (which is known not to be a tagged pointer and thus is a bit more efficient in certain scenarios). These days the compiler knows to treat AnyObject like NativeObject when using a non-ObjC runtime, so we might as well remove the #if.