     compiledDefinitions, exportDictionary)
 
 compileModuleWithDependencies = (typedModulePath = defaultTypedModulePath) ->
-  js: library + immutable + (listOfLines map lookupJs,
+  js: completeLibrary + (listOfLines map lookupJs,
     (setToArray runtimeDependencies (modulePathToName typedModulePath.names)))
 
 compileExpression = (source, typedModulePath = defaultTypedModulePath) ->
   {js} = parsed = parseExpression source, typedModulePath
   extend parsed,
-    (js:  library + immutable + (listOfLines map lookupJs,
+    (js:  completeLibrary + (listOfLines map lookupJs,
       (setToArray runtimeDependencies (modulePathToName typedModulePath.names))) + '\n;' + js)
 
 parseTopLevel = (source, typedModulePath = defaultTypedModulePath) ->


eval immutable

# JS Reserved words

reservedInJs = newSetWith ("abstract arguments boolean break byte case catch char class " +

exports.prettyPrint = prettyPrint
exports.plainPrettyPrint = plainPrettyPrint
exports.labelDocs = labelDocs
exports.builtinLibraryNumLines = completeLibrary.split('\n').length - 1

exports.library = library
exports.immutable = immutable
