 +  cmp expected.js actual.js
 +  echo 'Passed!'
 +done
+diff --git a/test/classes.js b/test/classes.js
+index bc166165..ad42d75a 100644
+--- a/test/classes.js
++++ b/test/classes.js
+@@ -594,7 +594,8 @@ test('variables in constructor bodies are correctly scoped', () => {
+
+   const a = new A();
+   eq(a.captured().x, 10);
+-  return eq(a.captured().y, 2);
++  // https://github.com/decaffeinate/decaffeinate/blob/master/docs/correctness-issues.md#executable-class-bodies-can-have-their-statements-reordered
++  return eq(a.captured().y, 20);
+ });
+
+
+@@ -655,7 +656,8 @@ test('ensure that constructors invoked with splats return a new object', () => {
+   // Ensure that constructors invoked with splats cache the function.
+   let called = 0;
+   const get = function () { if (called++) { return false; } return (Type = class Type {}); };
+-  return new get()(...Array.from(args || []));
++  // https://github.com/decaffeinate/decaffeinate/blob/master/docs/correctness-issues.md#classes-cannot-be-called-without-new
++  return new (get())(...Array.from(args || []));
+ });
+
+ test("`new` shouldn't add extra parens", () => ok(new Date().constructor === Date));
 diff --git a/test/cluster.js b/test/cluster.js
 index acce6046..9885c14b 100644
 --- a/test/cluster.js

       } catch (error1) {
         const error = error1;
         failures.push({ filename, error });
@@ -372,7 +374,12 @@ var runTests = function (CoffeeScript) {
 };



       }
       return delete global[magicKey];
     }
diff --git a/test/operators.js b/test/operators.js
index 613a3b7d..55e45a69 100644
--- a/test/operators.js
+++ b/test/operators.js
@@ -252,7 +252,8 @@ test('#1100: precedence in or-test compilation of `in`', () => {
   return ok(!([1, 0 || 1].includes(0)));
 });

-test('#1630: `in` should check `hasOwnProperty`', () => ok(!Array.from({ length: 1 }).includes(undefined)));
+// https://github.com/decaffeinate/decaffeinate/blob/master/docs/correctness-issues.md#undefined-in-arr-returns-true-for-sparse-arrays-without-explicit-undefineds
+skippedTest('#1630: `in` should check `hasOwnProperty`', () => ok(!Array.from({ length: 1 }).includes(undefined)));

 test('#1714: lexer bug with raw range `for` followed by `in`', () => {
   for (let i = 1; i <= 2; i++) { 0; }
diff --git a/test/scope.js b/test/scope.js
index e3baf5a2..b32c49d8 100644
--- a/test/scope.js
+++ b/test/scope.js
@@ -93,19 +93,19 @@ test('loop variable should be accessible after for-in loop', () => {
   })());
   return eq(x, 2);
 });
-
-class Array {
+// https://github.com/decaffeinate/decaffeinate/blob/master/docs/correctness-issues.md#globals-like-object-and-array-may-be-accessed-by-name-from-generated-code
+class Array_ {
   static initClass() {
     this.prototype.slice = fail;
   }
 }
-Array.initClass(); // needs to be global
-class Object {
+Array_.initClass(); // needs to be global
+class Object_ {
   static initClass() {
     this.prototype.hasOwnProperty = fail;
   }
 }
-Object.initClass();
+Object_.initClass();
 test("#1973: redefining Array/Object constructors shouldn't confuse __X helpers", () => {
   const arr = [1, 2, 3, 4];
   arrayEq([3, 4], arr.slice(2));
