What's the point of IStructDetailsView if it doesn't handle redo/undo?

I spent a long time trying to create an editor for Items in my game and I decided to try and use the IStructDetailsView to show the struct that I use to house item data.

I’m sort of confused though, because the other kind of detail views handle redo/undo for you. But the StructDetailsView does not. I looked at the datatables.cpp file and they essentially recreate the table from a cached version everytime you undo an action.

I thought the entire point of using those helpers was to handle those things without you have to deal with transactions for every single thing you do. But it turns out you have to anyway? I’m very confused. I spent a long time trying to get this to work entirely for that reason and now it turns out I just wasted all my time?

What’s the deal here?