Is your feature request related to a problem? Please describe.
track(name: String, properties: [String: Any]? = nil) will crash if one of the Any is a Swift Set. It will not crash if that same property is an Array.
Describe the solution you'd like
Because to JSON, Array and Set are identical, it would be nice if Segment's JSON type could encode Set without crashing
Describe alternatives you've considered
At this point, we just ensure we're always sending an Array
Additional context
N/A