Untangle snapshot mapper

Also fixed performance issue with `StructEncoding` arbitrary
Actually, shouldn't this be a `map<string, i16>`?