anchor.diff:          _typeProvider.symbolType, new SymbolState(buffer.toString()));
     }
   
  -  DartObjectImpl visitTypeAnnotation(TypeAnnotation node) {
  -    DartType type = evaluateType(node.type);
  -    if (type == null) {
  +  @override
  +  DartObjectImpl visitTypeName(TypeName node) {
  +    var type = node.type;
  +    if (_hasTypeParameterReference(type)) {
         return super.visitTypeName(node);
       }
  -    return typeConstant(type);
  -  }
  -
  -  @override
  -  DartObjectImpl visitTypeName(TypeName node) => visitTypeAnnotation(node);
  +    return DartObjectImpl(_typeProvider.typeType, TypeState(type));
  +  }
   
     /// Add the entries produced by evaluating the given collection [element] to
     /// the given [list]. Return `true` if the evaluation of one or more of the
  
positive.code:     }
      return _typeProvider.nullObject;
    }
  }
  
  /// A utility class that contains methods for manipulating instances of a Dart
  
negative.code:   /// Convenience getter to gain access to the [evaluationEngine]'s type
    /// provider.
    TypeProvider get _typeProvider => evaluationEngine.typeProvider;
  
    @override
    DartObjectImpl visitAdjacentStrings(AdjacentStrings node) {
  