No, we're talking about the changeset format. And given how commonly
archive changesets are used for cherry-picking, the line's pretty blurry.

Sorry, then, we're not talking about the same thing. I'm talking about
changesets generated by `tla changes' only. I understand that the same code
is used for all different ways to build a changeset, but I fail to see in
what way this is relevant. Maybe the line is blurry, but only in
one direction: you can use both types of changesets for cherry-picking, but
you can't use both types of changesets in an archive (which is the place
where you care about reliable patching).

What I mean is: since archive changesets are used for inexact patching,
people will want to control archive changesets the same way they control
'changes' output.

Hmm. Perhaps that could be addressed by giving people something close
to what they want: get-changeset could take diff parameters, and if it
did, it would call delta instead of its normal behaviour. Similarly for
replay, update, star-merge, etc.