5e7fc9d71a
Doing the refcounting outside the enum doesn't allow refcounting a downcasted object. And most objects don't need refcounting after all.