Untangle snapshot mapper

Also fixed performance issue with `StructEncoding` arbitrary
Can this just be an apply method on `object Counter { }` ?

And I don't think the warning is necessary, it is not inherently dangerous and might be useful - unless I am missing something.