docs: static String actualTypeParametersString(TypeElement type) {
      List<? extends TypeParameterElement> typeParameters = type.getTypeParameters();
      if (typeParameters.isEmpty()) {
        return "";
      } else {
        return typeParameters
            .stream()
            .map(e -> e.getSimpleName().toString())
            .collect(joining(", ", "<", ">"));
      }
    }