As the AWOL maintainer of CoreBase, I guess I can chime in on the CF/toll-free bridging stuff...
Originally, I did use the ISA pointer as the type ID, this however doesn't work everywhere. For none toll-free bridged types, the ISA pointer is always set to NSCFType, so you end up with multiple CF types having the same ObjC class. This class responds to some basic messages and allows all CF types to be retained/released by ObjC-only code, for example.
Even though I haven't had time to work on CoreBase in quite some time, I still encourage people to submit patches and ideas. Please keep in mind, however, that the project has been around for over 3 years now, and in that time quite a few important design decisions were made. The most important of all being how CF types interact with ObjC classes (i.e. bridging). In this particular case, things are done the way they are done because it is the only sensible way without having tons special cases.
Stef