the improvements:
- eliminate double definition of marshal/unmarshal interface
- proper single a tag codec using teh codec.JSON interface
- kind constructor using constraints.Integer to make invocations from random integer types easier
- eliminate separate string constructor for arb elements using generics