Does this have any performance implications? Shouldn't we declare only the types we need metadata for?