I think you're probably being too clever here.

I would say that if any of the old options are specified, the use of the `preprocessors` argument should be disallowed completely, as it's not really clear where to put the preprocessors specified by the old-style arguments in relation to the ones specified by `preprocessors`. The user should pick old-style or new-style, not both, and we should complain at them for old-style.