code: @Beta
    public <U> void verifyAll(
      Object target,
      @DelegatesTo.Target
        Class<U> type,
      @DelegatesTo(genericTypeIndex = 0, strategy = Closure.DELEGATE_FIRST)
      @ClosureParams(SecondParam.FirstGenericType.class)
        Closure closure) {
      if (target != null && !type.isInstance(target)) {
        throw new SpockAssertionError(String.format("Expected target of 'verifyAll' block to have type '%s', but got '%s'",
          type, target.getClass().getName()));
      }
      verifyAll(target, closure);
    }
docs: A combination of {@link #with(Object, Class, Closure)} and {@link #verifyAll(Closure)}.
  
  @since 1.2
  @param target an implicit target for conditions and/or interactions
  @param type the expected type of the target
  @param closure a code block containing top-level conditions and/or interactions
  @param <U> type of target