@@ -14,16 +14,17 @@ Elm.Native.Show = function(elm) {
1414 var Tuple2 = Elm.Native.Utils(elm).Tuple2;
1515
1616 var toString = function(v) {
17− if (typeof v === "function") {
17+ var type = typeof v;
18+ if (type === "function") {
1819 var name = v.func ? v.func.name : v.name;
1920 return '<function' + (name === '' ? '' : ': ') + name + '>';
20− } else if (typeof v === "boolean") {
21+ } else if (type === "boolean") {
2122 return v ? "True" : "False";
22− } else if (typeof v === "number") {
23+ } else if (type === "number") {
2324 return v+"";
24− } else if (typeof v === "string" && v.length < 2) {
25+ } else if (type === "string" && v.length < 2) {
2526 return "'" + showChar(v) + "'";
26− } else if (typeof v === "object" && '_' in v) {
27+ } else if (type === "object" && '_' in v) {
2728 var output = [];
2829 for (var k in v._) {
2930 for (var i = v._[k].length; i--; ) {
@@ -36,7 +37,7 @@ Elm.Native.Show = function(elm) {
3637 }
3738 if (output.length === 0) return "{}";
3839 return "{ " + output.join(", ") + " }";
39− } else if (typeof v === "object" && 'ctor' in v) {
40+ } else if (type === "object" && 'ctor' in v) {
4041 if (v.ctor.substring(0,6) === "_Tuple") {
4142 var output = [];
4243 for (var k in v) {
@@ -79,7 +80,7 @@ Elm.Native.Show = function(elm) {
7980 return v.ctor + output;
8081 }
8182 }
82− if (typeof v === 'object' && 'recv' in v) return '<signal>';
83+ if (type === 'object' && 'recv' in v) return '<signal>';
8384 return "<internal structure>";
8485 };
8586 function show(v) { return NList.fromArray(toString(v)); }