diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts
index 3abb7f1cee4..31817fb6890 100644
--- a/tests/cases/fourslash/fourslash.ts
+++ b/tests/cases/fourslash/fourslash.ts
@@ -1,21 +1,3 @@
-///
-
-// declare var FourSlash;
-// module ts {
-// export interface SymbolDisplayPart {
-// text: string;
-// kind: string;
-// }
-// }
-
-// DO NOT EDIT ABOVE THIS LINE!
-// We want type-completion while we edit this file, but at compile time we don't want to include the above reference
-// because we are compiling this file in "--out" mode and don't want to rope in the entire codebase
-// for each fourslash test.
-// So, the compile script manually modifies the aboce code so that we compile correctly.
-
-//---------------------------------------------
-
// Welcome to the FourSlash syntax guide!
// A line in the source text is indicated by four slashes (////)
@@ -48,6 +30,32 @@
// (e.g. 'fs.goTo.eof();')
//---------------------------------------
+// When editting this file, and only while editing this file, enable the reference comments
+// and comment out the declarations in this section to get proper type information.
+// Undo these changes before compiling/committing/editing any other fourslash tests.
+// The test suite will likely crash if you try 'jake runtests' with reference comments enabled.
+//
+// Explanation:
+// We want type-completion while we edit this file, but at compile time/while editting fourslash tests,
+// we don't want to include the following reference because we are compiling this file in "--out" mode and don't want to rope
+// in the entire codebase into the compilattion each fourslash test. Additionally, we don't want to expose the
+// src/harness/fourslash.ts API's (or the rest of the compiler) because they are unstable and complicate the
+// fourslash testing DSL. Finally, in this case, runtime reflection is (much) faster.
+//
+// TODO: figure out a better solution to the API exposure problem.
+
+// ///
+// ///
+
+declare var FourSlash;
+module ts {
+ export interface SymbolDisplayPart {
+ text: string;
+ kind: string;
+ }
+}
+
+//---------------------------------------------
// Return code used by getEmitOutput function to indicate status of the function
// It is a duplicate of the one in types.ts to expose it to testcases in fourslash