All TypeAdapters that allow null values in json, will be wrapped by NullableTypeAdapter to avoid duplicating null handling code