 diff --git a/src/com/google/javascript/jscomp/ClosureReverseAbstractInterpreter.java b/src/com/google/javascript/jscomp/ClosureReverseAbstractInterpreter.java
-index 7bfbae52..3d8aadb8 100644
+index 7bfbae52..720b60b7 100644
 --- a/src/com/google/javascript/jscomp/ClosureReverseAbstractInterpreter.java
 +++ b/src/com/google/javascript/jscomp/ClosureReverseAbstractInterpreter.java
-@@ -174,9 +174,6 @@ class ClosureReverseAbstractInterpreter
-       })
-       .put("isArray", new Function<TypeRestriction, JSType>() {
-         public JSType apply(TypeRestriction p) {
--          if (p.type == null) {
--            return p.outcome ? getNativeType(ARRAY_TYPE) : null;
--          }
- 
-           Visitor<JSType> visitor = p.outcome ? restrictToArrayVisitor :
-               restrictToNotArrayVisitor;
-@@ -185,9 +182,6 @@ class ClosureReverseAbstractInterpreter
-       })
-       .put("isObject", new Function<TypeRestriction, JSType>() {
-         public JSType apply(TypeRestriction p) {
--          if (p.type == null) {
--            return p.outcome ? getNativeType(OBJECT_TYPE) : null;
--          }
- 
-           Visitor<JSType> visitor = p.outcome ? restrictToObjectVisitor :
-               restrictToNotObjectVisitor;
-@@ -205,6 +199,7 @@ class ClosureReverseAbstractInterpreter
+@@ -205,6 +205,7 @@ class ClosureReverseAbstractInterpreter
        Node param = condition.getLastChild();
        if (callee.getType() == GETPROP && param.isQualifiedName()) {
          JSType paramType =  getTypeIfRefinable(param, blindScope);

         Node left = callee.getFirstChild();
         Node right = callee.getLastChild();
         if (left.getType() == NAME && "goog".equals(left.getString()) &&
@@ -214,6 +209,7 @@ class ClosureReverseAbstractInterpreter
           if (restricter != null) {
             return restrictParameter(param, paramType, blindScope, restricter,
                 outcome);

-            isInferred &&
-            syntacticScope.getParent() != null &&
-            var == syntacticScope.getParent().getSlot(varName);
 
-        if (!unflowable && !nonLocalInferredSlot) {
           type = var.getType();
           if (type == null) {
             type = getNativeType(UNKNOWN_TYPE);
-          }
