anchor.diff:          _isEqualTokens(node.equals, toNode.equals),
           _isEqualNodes(node.functionType, toNode.functionType),
           _isEqualTokens(node.semicolon, toNode.semicolon))) {
  -      // TODO(brianwilkerson) Copy the type and element information.
         return true;
       }
       return false;
  
positive.code: 
    @override
    bool visitGenericFunctionType(GenericFunctionType node) {
      GenericFunctionType toNode = this._toNode as GenericFunctionType;
      if (_and(
          _isEqualNodes(node.returnType, toNode.returnType),
          _isEqualTokens(node.functionKeyword, toNode.functionKeyword),
          _isEqualNodes(node.typeParameters, toNode.typeParameters),
          _isEqualNodes(node.parameters, toNode.parameters))) {
        // TODO(brianwilkerson) Copy the type information.
        return true;
      }
      return false;
  
negative.code: 
    @override
    bool visitGenericTypeAlias(GenericTypeAlias node) {
      GenericTypeAliasImpl toNode = this._toNode as GenericTypeAliasImpl;
      if (_and(
          _isEqualNodes(node.documentationComment, toNode.documentationComment),
          _isEqualNodeLists(node.metadata, toNode.metadata),
  