Tricks like this in a protocol parser make me a little uncomfortable. Should `CH_START_VERSION` *always* be present in a change? What happens if it's not? Should we at least log an error, and maybe bail?