If DSA is all about capturing/restoring state, why not providing "state block objects"?

Something like:


GLint stateblock=0;
glGenStateBlocks(1, &stateblock);
...
......