Hmm, the extra query is maybe an issue, but only for Cardtype cards, right?

I can move that variation to a version of this view on the cardtype class, and I'd agree that it is a good thing, except that the rest of the view code would be duplicated two places.  You want me to make that change?

The args[:type_class] could maybe be abused, but I'm just using it for the 'type-hidden' class that I use it with in the _header.  Again, if you don't use it, it has no effect.

Would a model method to get 'type_class' make you  happier?  The default-type class was already there, and would you just add that to the basic_type model methods?

I see no reason to completely eliminate this lightweight type.  You have to create a sub-renderer to get to any view on the card card.type, right?  Seems heavy for a lot of use-cases.