ok, I was wrong about the hiding, but man this is a convoluted way to do it.

why not use _optional_render it and default it not to show.  That means you empower wagneers and not just developers.  And I see no need for all this hidden_type stuff.  It's fully addressable via css as is.

I'm still not wild about the type view, but I have to admit I can see the optional_render thing getting used.