toString also comes up in ```console.log``` and ```util.format```:

```
> o1 = { a : 1 }
{ a: 1 }
> o2 = { b : 2 }
{ b: 2 }
> o2["toString"] = 3
3
> console.log("hi: %s", o1)
hi: [object Object]
undefined
> console.log("hi: %s", o2)
TypeError: Cannot convert object to primitive value
    at String (<anonymous>)
    at util.js:39:25
    at String.replace (native)
    at Console.exports.format (util.js:35:23)
    at Console.log (console.js:53:34)
    at repl:1:10
    at REPLServer.self.eval (repl.js:110:21)
    at Interface.<anonymous> (repl.js:239:12)
    at Interface.EventEmitter.emit (events.js:95:17)
    at Interface._onLine (readline.js:202:10)
```