I think the specdoc might be a little misleading. It is important for null objects to *appear* to be copyable, since they may well be asked to stand in for an object which is copyable. However, as you note, `Singleton` disables copying. These tests exist to ensure that we *override* the default `Singleton` behavior, and deliver a null object which *acts* like it is copyable.

Although actually now that I read this again, I think the current behavior is wrong; it should really return `self` from `dup` and `clone`, not `nil`. That way code that expected to be able to dup/clone some "real" object will Just Work with a singleton null object.