Untangle snapshot mapper

Also fixed performance issue with `StructEncoding` arbitrary
Minor stylistic thing, most of the code eschews procedure syntax - so the couple in this PR standout. My general (but not strong) preference is to avoid it all together, it makes it easier to review and ensure there are no accidental any2unit conversions from forgotten `=` signs.