I would personally just define a "PRINTSIZE()" macro in place of your PRINTSIZED, and have no PRINTSIZEU. It might save some trouble when people convert integer types and forget to update this, so I think it's worth the 1 extra byte.