Interesting point. Notably though, a function that <i>could</i> optimize itself based on the exact type given (e.g. runtime “instanceof”) can recover performance while still being general enough to accept anything. If you pass around nothing but exact types, you lose that opportunity.