I think this would be helpful because in parsnip we can just check that the input to fit(control = ) is a "parsnip_control" object, and then all the input validation can just be in fit_control().
This would also be helpful in the pipeline-ish package because when a user passes pipeline_control(parsnip_control = fit_control()) I can just check that parsnip_control is the right S3 class, and let parsnip handle the input validation. Otherwise I have to redo the input validation done by parsnip:::check_control()