As discusses in The c++ Programming Language 3rd Edition in section 12.2.5, type fields tend to create code that is less versatile, error-prone, less intuitive, and less maintai
I don't know of any realistic examples. Contrived ones would depend on there being some good reason that virtual methods cannot be used.