private static void renderText(StringBuilder result, TextElementType elementType, String text) {
   if (elementType == TextElementType.DEFAULT) {
     result.append(text);
   } else if (elementType == TextElementType.ERROR) {
     result.append(RenderersUtilKt.renderError(text));
   } else if (elementType == TextElementType.STRONG) {
     result.append(RenderersUtilKt.renderStrong(text));
   }
 }
  private void renderFunctionArguments(
      @Nullable KotlinType receiverType,
      @NotNull List<KotlinType> argumentTypes,
      Predicate<ConstraintPosition> isErrorPosition,
      StringBuilder result,
      @NotNull RenderingContext context) {
    boolean hasReceiver = receiverType != null;
    tdSpace(result);
    String receiver = "";
    if (hasReceiver) {
      boolean error = false;
      if (isErrorPosition.apply(RECEIVER_POSITION.position())) {
        error = true;
      }
      receiver =
          "receiver: "
              + RenderersUtilKt.renderStrong(
                  getTypeRenderer().render(receiverType, context), error);
    }
    td(result, receiver);
    td(result, hasReceiver ? "arguments: " : "");
    if (argumentTypes.isEmpty()) {
      tdBold(result, "( )");
      return;
    }

    td(result, RenderersUtilKt.renderStrong("("));
    int i = 0;
    for (Iterator<KotlinType> iterator = argumentTypes.iterator(); iterator.hasNext(); ) {
      KotlinType argumentType = iterator.next();
      boolean error = false;
      if (isErrorPosition.apply(VALUE_PARAMETER_POSITION.position(i))) {
        error = true;
      }
      String renderedArgument = getTypeRenderer().render(argumentType, context);

      tdRight(
          result,
          RenderersUtilKt.renderStrong(renderedArgument, error)
              + (iterator.hasNext() ? RenderersUtilKt.renderStrong(",") : ""));
      i++;
    }
    td(result, RenderersUtilKt.renderStrong(")"));
  }