anchor.diff:      override x.ToString() = base.ToString()
       [<EditorBrowsable(EditorBrowsableState.Never)>]
       abstract Build : unit -> Property
  +
  +    /// Check one property with the quick configuration
       member x.QuickCheck() = Check.Quick(x.Build())
  +
  +    /// Check one property with the quick configuration, and throw an exception if it fails or is exhausted.
       member x.QuickCheckThrowOnFailure() = Check.QuickThrowOnFailure(x.Build())
  +
  +    /// Check one property with the verbose configuration.
       member x.VerboseCheck() = Check.Verbose(x.Build())
  +
  +    /// Check one property with the quick configuration, and using the given name.
       member x.QuickCheck(name:string) = Check.Quick(name,x.Build())
  +
  +    /// Check one property with the quick configuration, and throw an exception if it fails or is exhausted.
       member x.QuickCheckThrowOnFailure(name:string) = Check.QuickThrowOnFailure(name,x.Build())
  +
  +    ///Check one property with the verbose configuration, and using the given name.
       member x.VerboseCheck(name:string) = Check.Verbose(name,x.Build())
  +
  +    ///Check the given property using the given config.
       member x.Check(configuration:Configuration) = Check.One(configuration.ToConfig(),x.Build())
   
   and SpecBuilder<'a> internal   ( generator0:'a Gen
  
positive.code:         gen { let! a = source
                let! b = f.Invoke(a)
                return select.Invoke(a,b) }
      
      [<System.Runtime.CompilerServices.Extension>]
      static member MakeList<'a> (generator) = listOf generator |> map (fun list -> new List<'a>(list))
      
      [<System.Runtime.CompilerServices.Extension>]
      static member MakeNonEmptyList<'a> (generator) = nonEmptyListOf generator |> map (fun list -> new List<'a>(list))
      
      [<System.Runtime.CompilerServices.Extension>]
      static member MakeListOfLength<'a> (generator, count) = listOfLength count generator |> map (fun list -> new List<'a>(list))
      
      [<System.Runtime.CompilerServices.Extension>]
      static member Resize (generator, sizeTransform : Func<int,int>) =
          sized <| fun s -> resize (sizeTransform.Invoke(s)) generator
  
negative.code:     let mutable endSize = Config.Quick.EndSize
      let mutable runner = Config.Quick.Runner
      let mutable replay = Config.Quick.Replay
  
      ///The maximum number of tests that are run.
      member x.MaxNbOfTest with get() = maxTest and set(v) = maxTest <- v
  
      ///The maximum number of tests where values are rejected
      member x.MaxNbOfFailedTests with get() = maxFail and set(v) = maxFail <- v
  
      ///Name of the test.
      member x.Name with get() = name and set(v) = name <- v
  
      ///What to print when new arguments args are generated in test n
      member x.Every with get() = new Func<int,obj array,string>(fun i arr -> every i (Array.toList arr)) 
                     and set(v:Func<int,obj array,string>) = every <- fun i os -> v.Invoke(i,List.toArray os)
  
      ///What to print every time a counter-example is succesfully shrunk
      member x.EveryShrink with get() = new Func<obj array,string>(Array.toList >> everyShrink)
                           and set(v:Func<obj array,string>) = everyShrink <- fun os -> v.Invoke(List.toArray os)
  
      ///The size to use for the first test.
      member x.StartSize with get() = startSize and set(v) = startSize <- v
  
      ///The size to use for the last test, when all the tests are passing. The size increases linearly between Start- and EndSize.
      member x.EndSize with get() = endSize and set(v) = endSize <- v
  
      ///A custom test runner, e.g. to integrate with a test framework like xUnit or NUnit. 
      member x.Runner with get() = runner and set(v) = runner <- v
  
      //TODO: figure out how to deal with null values
      //member x.Replay with get() = (match replay with None -> null | Some s -> s) and set(v) = replay = Some v
      member internal x.ToConfig() =
  