> I'm starting to realize I don't actually like ARC all that much (at least, not for low-level stuff like this...)

Last night I converted to non-ARC (MRR or whatever they call it), just to see how it would look. It didn't take much change, and will make the memory management more clear. Otherwise, I'll have to use hacky casts to trick ARC into doing the required retains/releases: `(__bridge id)CFBridgingRetain(x)`, and `CFBridgingRelease((__bridge CFTypeRef)x)`.