docs: private void verifyTypeIsConstructible(TypeElement type)
        throws CannotGenerateCodeException {
      List<ExecutableElement> constructors = constructorsIn(type.getEnclosedElements());
      if (constructors.isEmpty()) {
        return;
      }
      for (ExecutableElement constructor : constructors) {
        if (constructor.getParameters().isEmpty()) {
          if (constructor.getModifiers().contains(Modifier.PRIVATE)) {
            messager.printMessage(
                ERROR,
                "FreeBuilder types must have a package-visible no-args constructor",
                constructor);
            throw new CannotGenerateCodeException();
          }
          return;
        }
      }
      messager.printMessage(
          ERROR, "FreeBuilder types must have a package-visible no-args constructor", type);
      throw new CannotGenerateCodeException();
    }