/// <summary>
 ///     Run FsCheck with an FsCheck.Config instance and enable TraceNumberOfRuns.
 /// </summary>
 /// <seealso cref="VerboseCheckThrowOnFailure" />
 public static void Verbose(this Property property, FsCheckConfig config = null)
 {
     config = config ?? FsCheckConfig.Verbose;
     CheckOne(
         config.Name, config.WithFsCheckRunner(FsCheckRunnerConfig: FsCheckRunnerConfig.Verbose).AttachToTest(),
         property
         );
 }
        /// <summary>
        ///     Run FsCheck with using a FsCheckRunner and the given parameters.
        /// </summary>
        public static void VerboseCheckThrowOnFailure(
            this Property property, CSharpNotationConfig CSharpNotationConfig = null,
            FsCheckRunnerConfig FsCheckRunnerConfig = null, FsCheckConfig Config = null, List <Type> Arbitrary     = null,
            int?EndSize     = null, Func <int, object[], string> Every = null, Func <object[], string> EveryShrink = null,
            int?MaxRejected = null, int?MaxTest = null, string Name = null,
            ParallelRunConfig ParallelRunConfig = null, bool?QuietOnSuccess = null,
            Tuple <ulong, ulong, int> Replay    = null, IRunner Runner      = null, int?StartSize = null)
        {
            Config = Config ?? FsCheckConfig.VerboseThrowOnFailure;
            var csharpRunnerConfig = (FsCheckRunnerConfig ?? FsCheckRunnerConfig.Default).With(ThrowOnFailure: true);

            property.Verbose(
                Config.WithFsCheckRunner(
                    CSharpNotationConfig, csharpRunnerConfig, Arbitrary, EndSize, Every, EveryShrink, MaxRejected,
                    MaxTest, Name, ParallelRunConfig, QuietOnSuccess, Replay, Runner, StartSize
                    )
                );
        }
 /// <summary>
 ///     Run FsCheck with an FsCheck.Config instance, that supports Arbitrary, unlike the
 ///     "CSharp friendly" FsCheck.Configuration type.
 ///     <seealso cref="QuickCheckThrowOnFailure" />
 ///     <seealso cref="VerboseCheckThrowOnFailure" />
 /// </summary>
 public static void Quick(this Property property, FsCheckConfig config = null)
 {
     config = config ?? FsCheckConfig.Quick;
     CheckOne(config.Name, config.WithFsCheckRunner().AttachToTest(), property);
 }