 -      found = found.restrictByNotNullOrUndefined();
 -      required = required.restrictByNotNullOrUndefined();
 -      if (!found.canAssignTo(required)) {
--        // Implemented, but not correctly typed
+         // Implemented, but not correctly typed
 -        if (shouldReport) {
 -          FunctionType constructor
 -            = implementedInterface.toObjectType().getConstructor();

       UNKNOWN_OVERRIDE,
       INTERFACE_METHOD_OVERRIDE,
       UNKNOWN_EXPR_TYPE,
@@ -1038,6 +1047,17 @@ public class TypeCheck implements NodeTraversal.Callback, CompilerPass {
               HIDDEN_INTERFACE_PROPERTY, propertyName,
               interfaceType.getTopMostDefiningType(propertyName).toString()));
         }
+        // Check that it is ok
+        if (interfaceHasProperty) {
+          JSType interfacePropType =
+              interfaceType.getPrototype().getPropertyType(propertyName);

       }
     }
 
diff --git a/src/com/google/javascript/jscomp/TypeValidator.java b/src/com/google/javascript/jscomp/TypeValidator.java
index 24bf792f..1d585226 100644
--- a/src/com/google/javascript/jscomp/TypeValidator.java
+++ b/src/com/google/javascript/jscomp/TypeValidator.java
@@ -107,13 +107,6 @@ class TypeValidator {
           "JSC_INTERFACE_METHOD_NOT_IMPLEMENTED",
           "property {0} on interface {1} is not implemented by type {2}");
 
