* Objects as maps have limitations: only string keys, and literal objects have a prototype so you inherit potentially risky properties/behaviors
* Objects as sets are kinda terrible, they're not syntactically awesome and you need to override #toString to make them work correctly. They also don't support any set operation which sucks.