            .withTemplateName(templateTypeName)
            .build();
 diff --git a/src/com/google/javascript/jscomp/TypedScopeCreator.java b/src/com/google/javascript/jscomp/TypedScopeCreator.java
-index 4be3b8d3..38d13ef7 100644
+index 4be3b8d3..8bf22fc0 100644
 --- a/src/com/google/javascript/jscomp/TypedScopeCreator.java
 +++ b/src/com/google/javascript/jscomp/TypedScopeCreator.java
-@@ -508,12 +508,7 @@ final class TypedScopeCreator implements ScopeCreator {
-         String functionName = name.getString();
-         FunctionType functionType =
-             getFunctionType(functionName, value, info, null);
--        if (functionType.isReturnTypeInferred() &&
--            scope.isLocal()) {
--          defineSlot(name, var, null);
--        } else {
--          defineSlot(name, var, functionType);
--        }
-+        defineSlot(name, var, functionType);
-       } else {
-         // variable's type
-         JSType type = null;
-@@ -574,7 +569,6 @@ final class TypedScopeCreator implements ScopeCreator {
+@@ -574,7 +574,6 @@ final class TypedScopeCreator implements ScopeCreator {
        Node fnRoot = isFnLiteral ? rValue : null;
        Node parametersNode = isFnLiteral ?
            rValue.getFirstChild().getNext() : null;

diff --git a/src/com/google/javascript/jscomp/FunctionTypeBuilder.java b/src/com/google/javascript/jscomp/FunctionTypeBuilder.java
index 01fa8bad..b19e8a6e 100644
--- a/src/com/google/javascript/jscomp/FunctionTypeBuilder.java
+++ b/src/com/google/javascript/jscomp/FunctionTypeBuilder.java
@@ -71,7 +71,6 @@ final class FunctionTypeBuilder {

                     .buildAndRegister();
               }
             }
@@ -633,7 +631,6 @@ final class TypedScopeCreator implements ScopeCreator {
             .inferInheritance(info)
             .inferThisType(info, owner)
             .inferParameterTypes(parametersNode, info)
