I seem to have found a "bald spot" in the otherwise well-annotated and commented code: encode() and decode() in attributes.rs seem a bit sparse on why things are done the way that they are, and it does a fair deal of heavy lifting in the code. If you get a chance at some point, would be swell to have the ins and outs of that code clearly explained to us mortals 😄