reduce code bloat by reducing TyDesc usage