Enable type checker.
diff --git a/pkg/compiler/lib/src/dart_types.dart b/pkg/compiler/lib/src/dart_types.dart
index 41ce1e5..098b560 100644
--- a/pkg/compiler/lib/src/dart_types.dart
+++ b/pkg/compiler/lib/src/dart_types.dart
@@ -233,6 +233,10 @@
   }
 
   String toString() => name;
+
+  // TODO(ahe): Remove this method. It's a hack to work around problems when
+  // copying down methods in mixin applications.
+  bool get treatAsDynamic => element.enclosingElement.isMixinApplication;
 }
 
 /// Internal type representing the result of analyzing a statement.
@@ -511,6 +515,10 @@
     FunctionType type = element.callType;
     return type != null && isGeneric ? type.substByContext(this) : type;
   }
+
+  // TODO(ahe): Remove this method. It's a hack to work around problems when
+  // copying down methods in mixin applications.
+  bool get treatAsDynamic => element.isMixinApplication;
 }
 
 /**
diff --git a/pkg/compiler/lib/src/typechecker.dart b/pkg/compiler/lib/src/typechecker.dart
index 12015f2..1340fa2 100644
--- a/pkg/compiler/lib/src/typechecker.dart
+++ b/pkg/compiler/lib/src/typechecker.dart
@@ -51,15 +51,13 @@
   TypeCheckerTask(Compiler compiler) : super(compiler);
   String get name => "Type checker";
 
+  bool enabled = false;
+
   void check(AstElement element) {
-    return;
+    if (!enabled) return;
     if (element.isClass) return;
     if (element.isTypedef) return;
     ResolvedAst resolvedAst = element.resolvedAst;
-    if (resolvedAst.node == null) {
-      return;
-      new FiskFisk();
-    }
     reporter.withCurrentElement(element.implementation, () {
       measure(() {
         TypeCheckerVisitor visitor = new TypeCheckerVisitor(