Untangle snapshot mapper

Also fixed performance issue with `StructEncoding` arbitrary
I think it is worth raising an issue to come back and look at consolidating these structs a bit. I don't think there is much advantage in having multiple wrappers for maps of the same type.