anchor.diff:        if (expr is ListLiteral) {
           _recordMessage(
               expr, StrongModeCode.INVALID_CAST_LITERAL_LIST, [from, to]);
  -      } else if (expr is MapLiteral) {
  -        _recordMessage(
  -            expr, StrongModeCode.INVALID_CAST_LITERAL_MAP, [from, to]);
  -      } else if (expr is SetLiteral) {
  -        _recordMessage(
  -            expr, StrongModeCode.INVALID_CAST_LITERAL_SET, [from, to]);
  +      } else if (expr is SetOrMapLiteral) {
  +        if (expr.isMap) {
  +          _recordMessage(
  +              expr, StrongModeCode.INVALID_CAST_LITERAL_MAP, [from, to]);
  +        } else {
  +          // Ambiguity should be resolved by now
  +          assert(expr.isSet);
  +          _recordMessage(
  +              expr, StrongModeCode.INVALID_CAST_LITERAL_SET, [from, to]);
  +        }
         } else {
           _recordMessage(
               expr, StrongModeCode.INVALID_CAST_LITERAL, [expr, from, to]);
  
positive.code:   void visitReturnStatement(ReturnStatement node) {
      _checkReturnOrYield(node.expression, node);
      node.visitChildren(this);
    }
  
    @override
    void visitSetLiteral(SetLiteral node) {
      DartType type = DynamicTypeImpl.instance;
      if (node.typeArguments != null) {
        NodeList<TypeAnnotation> targs = node.typeArguments.arguments;
        if (targs.length > 0) {
          type = targs[0].type;
        }
      } else {
        DartType staticType = node.staticType;
        if (staticType is InterfaceType) {
          List<DartType> typeArguments = staticType.typeArguments;
          if (typeArguments != null && typeArguments.length > 0) {
            type = typeArguments[0];
          }
        }
      }
      NodeList<Expression> elements = node.elements;
      for (int i = 0; i < elements.length; i++) {
        checkArgument(elements[i], type);
      }
      super.visitSetLiteral(node);
    }
  
    @override
  
negative.code:   }
  
    @override
    visitMethodInvocation(MethodInvocation node) {
      node.target?.accept(this);
      var method = node.methodName.staticElement;
  