The reason we need to keep track of these structs is the fact that this code belongs in a library, and we don't really have local copies of the structs to keep track of.

If you're going to post...