> We'd need to make sure to handle any "Next available id" value differently, or avoid it altogether. 

We cannot really avoid it though, can we? If somebody added a field with id = 2, it gets removed in a next commit and then a new field is added, it must not use the id = 2 again as it is not compatible. The file does not contain traces of the old field though, so we need to rely on a comment for the next id.

> Ideally, if there is a "next ID" comment, we'd use the number there and bump it in the comment… can snippets have side-effects like that?

not really. I mean, you can execute all code inside of snippets of course, but if you change the buffer outside of the snippet, UltiSnips will get confused. We can grab for the comment or collect all numbers we see and offer the next higher one. Dunno if this is worth the trouble though.