lol i was being intentionally mega verbose in making the `@rule`s ExecuteProcessRequest tests so that it's clear what's happening and everyone seems to have interpreted it as a really bad thing, v2 doesn't require tons of wrapper types but they're really helpful for context (it seems we are of the same mind about accepting raw snapshots as rule args). it seems like once we start having more uses of `@rule`s, then breaking them down more granularly like i did in #5703 will make more sense (along with the development of other techniques for concise descriptions of transformations such as datatype type checking).