>>> (indent 6)
      if (!firstArgument.isString) {
        DartType type = defaultValue.getType(compiler.coreTypes);
        compiler.reportFatalError(
            send.arguments.head,
            MessageKind.NOT_ASSIGNABLE,
            {
          'fromType': type,
          'toType': compiler.stringClass.rawType
        });
        return null;
      }
<<<
      if (!firstArgument.isString) {
        DartType type = defaultValue.getType(compiler.coreTypes);
        compiler.reportFatalError(
            send.arguments.head,
            MessageKind.NOT_ASSIGNABLE,
            {'fromType': type, 'toType': compiler.stringClass.rawType});
        return null;
      }