Ref T9132. This is a bit more cleanup to make adding CustomField support easier.
Right now, both EditField and EditType can actually generate a transaction. This doesn't matter too much in practice today, but gets a little more complicated a couple of diffs from now with CustomField stuff.
Instead, always use EditType to generate the transaction. In the future, this should give us less total code and make more things work cleanly by default.