Back out 97036ab72558 which inappropriately compared turds to third parties.
1 var obj = {valueOf: function() { "use strict"; undeclared = 7; }};
2 try { '' + obj; assertEq(true, false); } catch(e) { }
3 try { '' + obj; assertEq(true, false); } catch(e) { }
4 assertEq("undeclared" in this, false);