Delete does not appear to have the write type data when it is called from a CoVariant CountedPtr, I renamed the ReferenceCountAdjuster to prepare for this.
I have added a test to the CountedPtr that should test for Covariant deletion like the error that is caused  in the Lua tests, but I am having some syntax trouble, I may to expand the CountedPtr a little more.