backwards compatibility for Set and json.Number

this preserves backwards compatibility with using Set and non json.Number types (and adds some other missing tests) cc @jehiah @mikedewar