diff --git a/harness/nans.js b/harness/nans.js
index 3636a0b8c40538c36e271d42570ffdffab5a12fa..d4cc5720d2a845872d47d66f77ea00e8c17ce625 100644
--- a/harness/nans.js
+++ b/harness/nans.js
@@ -9,13 +9,13 @@ description: |
 ---*/
 
 var NaNs = [
-  () => NaN,
-  () => Number.NaN,
-  () => NaN * 0,
-  () => 0/0,
-  () => Infinity/Infinity,
-  () => -(0/0),
-  () => Math.pow(-1, 0.5),
-  () => -Math.pow(-1, 0.5),
-  () => Number("Not-a-Number"),
+  NaN,
+  Number.NaN,
+  NaN * 0,
+  0/0,
+  Infinity/Infinity,
+  -(0/0),
+  Math.pow(-1, 0.5),
+  -Math.pow(-1, 0.5),
+  Number("Not-a-Number"),
 ];
diff --git a/test/built-ins/Object/internals/DefineOwnProperty/nan-equivalence-define-own-property-reassign.js b/test/built-ins/Object/internals/DefineOwnProperty/nan-equivalence-define-own-property-reassign.js
index fe1d3ba2a1f876ef40345f444c479a932ffaff32..5050de082697b69ce5114d4816ef24af2780fc9b 100644
--- a/test/built-ins/Object/internals/DefineOwnProperty/nan-equivalence-define-own-property-reassign.js
+++ b/test/built-ins/Object/internals/DefineOwnProperty/nan-equivalence-define-own-property-reassign.js
@@ -57,12 +57,12 @@ for (var idx = 0; idx < len; ++idx) {
   for (var jdx = 0; jdx < len; ++jdx) {
     var a = {};
 
-    a.prop = NaNs[idx]();
-    a.prop = NaNs[jdx]();
+    a.prop = NaNs[idx];
+    a.prop = NaNs[jdx];
 
     assert(
       a.prop !== a.prop,
-      `Object property value reassigned to NaN produced by (${NaNs[idx].toString()}) results in a valid NaN`
+      `Object property value reassigned to NaN produced by (index=${idx}) results in a valid NaN`
     );
   }
 }
diff --git a/test/built-ins/Object/internals/DefineOwnProperty/nan-equivalence-define-own-property-reconfigure.js b/test/built-ins/Object/internals/DefineOwnProperty/nan-equivalence-define-own-property-reconfigure.js
index 7eb257bc167deab3cc9a33b5a862b3b0e4f888c7..d269d32176184e64bce3c64ca988626bdb99d655 100644
--- a/test/built-ins/Object/internals/DefineOwnProperty/nan-equivalence-define-own-property-reconfigure.js
+++ b/test/built-ins/Object/internals/DefineOwnProperty/nan-equivalence-define-own-property-reconfigure.js
@@ -59,17 +59,17 @@ for (var idx = 0; idx < len; ++idx) {
     var b = {};
 
     Object.defineProperty(a, "prop", {
-      value: NaNs[idx](),
+      value: NaNs[idx],
       configurable: true,
     });
 
     Object.defineProperty(a, "prop", {
-      value: NaNs[jdx](),
+      value: NaNs[jdx],
     });
 
     assert(
       a.prop !== a.prop,
-      `Object property value reconfigured to NaN produced by (${NaNs[idx].toString()}) results in a valid NaN`
+      `Object property value reconfigured to NaN produced by (index=${idx}) results in a valid NaN`
     );
   }
 }
diff --git a/test/built-ins/TypedArray/prototype/copyWithin/bit-precision.js b/test/built-ins/TypedArray/prototype/copyWithin/bit-precision.js
index 1aa660622b4e8b1a6951674ea5f5b4816e4d39f0..399cda2dcdf6f8dcf4a857630a52d376e5a33fe6 100644
--- a/test/built-ins/TypedArray/prototype/copyWithin/bit-precision.js
+++ b/test/built-ins/TypedArray/prototype/copyWithin/bit-precision.js
@@ -20,7 +20,7 @@ function body(FloatArray) {
   var subject = new FloatArray(NaNs.length * 2);
 
   NaNs.forEach(function(v, i) {
-    subject[i] = v();
+    subject[i] = v;
   });
 
   var originalBytes, copiedBytes;
diff --git a/test/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations-consistent-nan.js b/test/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations-consistent-nan.js
index 34e1f507bcbae774e605a86a9cef5449e9d80290..2194ba61af2b402f66c0666e02a95bb6ca3696e8 100644
--- a/test/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations-consistent-nan.js
+++ b/test/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations-consistent-nan.js
@@ -78,7 +78,7 @@ testWithTypedArrayConstructors(function(FA) {
   var controls, idx, aNaN;
 
   for (idx = 0; idx < NaNs.length; ++idx) {
-    aNaN = NaNs[idx]();
+    aNaN = NaNs[idx];
     controls = new Float32Array([aNaN, aNaN, aNaN]);
 
     samples.fill(aNaN);
@@ -89,12 +89,12 @@ testWithTypedArrayConstructors(function(FA) {
 
       assert(
         samples[i] !== samples[i],
-        `samples (${NaNs[idx].toString()}) produces a valid NaN (${precision} precision)`
+        `samples (index=${idx}) produces a valid NaN (${precision} precision)`
       );
 
       assert(
         controls[i] !== controls[i],
-        `controls (${NaNs[idx].toString()}) produces a valid NaN (${precision} precision)`
+        `controls (index=${idx}) produces a valid NaN (${precision} precision)`
       );
     }
   }
diff --git a/test/built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation-consistent-nan.js b/test/built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation-consistent-nan.js
index e8b94a22a55b65fd9906ee0517c081c86a766f75..dba6bc011b3edef642f56f2c30b9038fd7ed62de 100644
--- a/test/built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation-consistent-nan.js
+++ b/test/built-ins/TypedArray/prototype/map/return-new-typedarray-conversion-operation-consistent-nan.js
@@ -45,12 +45,12 @@ features: [TypedArray]
 ---*/
 
 function body(FloatArray) {
-  var sample = new FloatArray(NaNs.map(n => n()));
+  var sample = new FloatArray(NaNs);
   var sampleBytes, resultBytes;
   var i = 0;
 
   var result = sample.map(function() {
-    return NaNs[i++]();
+    return NaNs[i++];
   });
 
   sampleBytes = new Uint8Array(sample.buffer);
diff --git a/test/built-ins/TypedArray/prototype/set/bit-precision.js b/test/built-ins/TypedArray/prototype/set/bit-precision.js
index 569d9cdd795bb6de92add5fa6f36e635d06d20c6..e0a9b814d4bd4fa8c1b1e4efd2563b76c378759c 100644
--- a/test/built-ins/TypedArray/prototype/set/bit-precision.js
+++ b/test/built-ins/TypedArray/prototype/set/bit-precision.js
@@ -20,7 +20,7 @@ features: [TypedArray]
 ---*/
 
 function body(FA) {
-  var source = new FA(NaNs.map(n => n()));
+  var source = new FA(NaNs);
   var target = new FA(NaNs.length);
   var sourceBytes, targetBytes;
 
diff --git a/test/built-ins/TypedArray/prototype/slice/bit-precision.js b/test/built-ins/TypedArray/prototype/slice/bit-precision.js
index 4698d460c69e11e94c106b076cb6b9fd485f91ac..fb3074b0bf202b8ae3ba6438d30f45e34a56863f 100644
--- a/test/built-ins/TypedArray/prototype/slice/bit-precision.js
+++ b/test/built-ins/TypedArray/prototype/slice/bit-precision.js
@@ -25,7 +25,7 @@ features: [TypedArray]
 ---*/
 
 function body(FloatArray) {
-  var subject = new FloatArray(NaNs.map(n => n()));
+  var subject = new FloatArray(NaNs);
   var sliced, subjectBytes, slicedBytes;
 
   sliced = subject.slice();
diff --git a/test/built-ins/TypedArrayConstructors/ctors/object-arg/conversion-operation-consistent-nan.js b/test/built-ins/TypedArrayConstructors/ctors/object-arg/conversion-operation-consistent-nan.js
index bb652e602ee1c39c9669f6538c87ddabc8af10ee..d4a6235da951e9fc4b24b3ab02e07bb75264f08a 100644
--- a/test/built-ins/TypedArrayConstructors/ctors/object-arg/conversion-operation-consistent-nan.js
+++ b/test/built-ins/TypedArrayConstructors/ctors/object-arg/conversion-operation-consistent-nan.js
@@ -50,8 +50,8 @@ features: [TypedArray]
 ---*/
 
 function body(FloatArray) {
-  var first = new FloatArray(NaNs.map(n => n()));
-  var second = new FloatArray(NaNs.map(n => n()));
+  var first = new FloatArray(NaNs);
+  var second = new FloatArray(NaNs);
   var firstBytes = new Uint8Array(first.buffer);
   var secondBytes = new Uint8Array(second.buffer);
 
diff --git a/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/conversion-operation-consistent-nan.js b/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/conversion-operation-consistent-nan.js
index 434b557e672c7e13544ec7c0f310146faa7caa55..b861866230f9122ac90fbbd74882778bf723d0cc 100644
--- a/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/conversion-operation-consistent-nan.js
+++ b/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/conversion-operation-consistent-nan.js
@@ -74,7 +74,7 @@ testWithTypedArrayConstructors(function(FA) {
   var controls, idx, aNaN;
 
   for (idx = 0; idx < NaNs.length; ++idx) {
-    aNaN = NaNs[idx]();
+    aNaN = NaNs[idx];
     controls = new FA([aNaN, aNaN, aNaN]);
 
     Object.defineProperty(samples, "0", { value: aNaN });
@@ -85,12 +85,12 @@ testWithTypedArrayConstructors(function(FA) {
 
       assert(
         samples[i] !== samples[i],
-        `samples (${NaNs[idx].toString()}) produces a valid NaN (${precision} precision)`
+        `samples (index=${idx}) produces a valid NaN (${precision} precision)`
       );
 
       assert(
         controls[i] !== controls[i],
-        `controls (${NaNs[idx].toString()}) produces a valid NaN (${precision} precision)`
+        `controls (index=${idx}) produces a valid NaN (${precision} precision)`
       );
     }
   }
diff --git a/test/built-ins/TypedArrayConstructors/internals/Set/conversion-operation-consistent-nan.js b/test/built-ins/TypedArrayConstructors/internals/Set/conversion-operation-consistent-nan.js
index 6d9b1677a51bdfbae542a17c21cf7bd459a04e55..7c65d9b0e04e19732fadd4bd27ce67a7991786d6 100644
--- a/test/built-ins/TypedArrayConstructors/internals/Set/conversion-operation-consistent-nan.js
+++ b/test/built-ins/TypedArrayConstructors/internals/Set/conversion-operation-consistent-nan.js
@@ -72,7 +72,7 @@ testWithTypedArrayConstructors(function(FA) {
   var controls, idx, aNaN;
 
   for (idx = 0; idx < NaNs.length; ++idx) {
-    aNaN = NaNs[idx]();
+    aNaN = NaNs[idx];
     controls = new FA([aNaN, aNaN, aNaN]);
 
     samples[0] = aNaN;
@@ -83,12 +83,12 @@ testWithTypedArrayConstructors(function(FA) {
 
       assert(
         samples[i] !== samples[i],
-        `samples (${NaNs[idx].toString()}) produces a valid NaN (${precision} precision)`
+        `samples (index=${idx}) produces a valid NaN (${precision} precision)`
       );
 
       assert(
         controls[i] !== controls[i],
-        `controls (${NaNs[idx].toString()}) produces a valid NaN (${precision} precision)`
+        `controls (index=${idx}) produces a valid NaN (${precision} precision)`
       );
     }
   }
diff --git a/test/built-ins/isNaN/return-true-nan.js b/test/built-ins/isNaN/return-true-nan.js
index d77e4cb5845b1deb1fc8016678ce68a43929773b..32cf3835a2bd8b5e9e15b6e1cdee8cea00212565 100644
--- a/test/built-ins/isNaN/return-true-nan.js
+++ b/test/built-ins/isNaN/return-true-nan.js
@@ -15,5 +15,5 @@ includes: [nans.js]
 ---*/
 
 NaNs.forEach(function(v, i) {
-  assert.sameValue(isNaN(v()), true, "value on position: " + i);
+  assert.sameValue(isNaN(v), true, "value on position: " + i);
 });
diff --git a/test/harness/nans.js b/test/harness/nans.js
index bd0d7b9bd7ebffb72f7ef3dcba3de3c1b0d7a496..833a7f967ba83806c5d8637c022603bc6d86a4ab 100644
--- a/test/harness/nans.js
+++ b/test/harness/nans.js
@@ -5,20 +5,20 @@ description: >
   Including nans.js will expose:
 
   var NaNs = [
-    () => NaN,
-    () => Number.NaN,
-    () => NaN * 0,
-    () => 0/0,
-    () => Infinity/Infinity,
-    () => -(0/0),
-    () => Math.pow(-1, 0.5),
-    () => -Math.pow(-1, 0.5),
-    () => Number("Not-a-Number"),
+    NaN,
+    Number.NaN,
+    NaN * 0,
+    0/0,
+    Infinity/Infinity,
+    -(0/0),
+    Math.pow(-1, 0.5),
+    -Math.pow(-1, 0.5),
+    Number("Not-a-Number"),
   ];
 
 includes: [nans.js]
 ---*/
 
 for (var i = 0; i < NaNs.length; i++) {
-  assert.sameValue(Number.isNaN(NaNs[i]()), true, NaNs[i].toString());
+  assert.sameValue(Number.isNaN(NaNs[i]), true, "index: " + i);
 }