docs: public Violation checkSuperInstantiation(
        Set<String> containerTypeParameters, AnnotationInfo annotation, Type type) {
      Violation info = threadSafeInstantiation(containerTypeParameters, annotation, type);
      if (info.isPresent()) {
        return info;
      }
      return Streams.zip(
              type.asElement().getTypeParameters().stream(),
              type.getTypeArguments().stream(),
              (typaram, argument) -> {
                if (containerOfSubtyping(containerTypeParameters, annotation, typaram, argument)) {
                  return Violation.of(
                      String.format(
                          "'%s' is not a container of '%s'", annotation.typeName(), typaram));
                }
                return Violation.absent();
              })
          .filter(Violation::isPresent)
          .findFirst()
          .orElse(Violation.absent());
    }