Generally, changes in this crate require care because forward and backward compatibility is important.

This is important throughout the crate but especially in the src/do_not_modify folder. See the readme there for more detail.