anchor.diff:              forAll (Arb.fromGenShrink(generator0,shrinker0)) (fun a -> (conditions' a) ==> lazy (assertion0 a) |> collects' a |> classifies' a)
       member x.When( condition:Func<'a,bool> ) = 
           SpecBuilder<'a>(generator0, shrinker0, assertion0, (fun a -> condition.Invoke(a))::conditions, collects, classifies)
  +
  +    ///Collect data values. The argument of collect is evaluated in each test case, 
  +    ///and the distribution of values is reported.
       member x.Collect(collectedValue:Func<'a,string>)=
           SpecBuilder<'a>(generator0, shrinker0,assertion0,conditions,(fun a -> collectedValue.Invoke(a))::collects,classifies)
  +
       member x.Classify(filter:Func<'a,bool>,name:string) =
           SpecBuilder<'a>(generator0, shrinker0,assertion0,conditions,collects,((fun a -> filter.Invoke(a)),name)::classifies)
       member x.Shrink(shrinker:Func<'a,'a seq>) =
           SpecBuilder<'a>( generator0, shrinker.Invoke, assertion0, conditions, collects, classifies)
       member x.Label( name:string ) =
           SpecBuilder<'a>(generator0, shrinker0, label name << assertion0,conditions, collects, classifies)
  +
  +    ///Construct a property that succeeds if both succeed.
       member x.And(assertion : Func<'a,bool>) =
           SpecBuilder<'a>( generator0, shrinker0, (fun a -> (assertion0 a) .&. (assertion.Invoke(a))), conditions, collects, classifies)
  +
  +    ///Construct a property that succeeds if both succeed.
       member x.And(assertion : Func<'a,bool>, name:string ) =
           SpecBuilder<'a>( generator0, shrinker0, (fun a -> (assertion0 a) .&. (label name (assertion.Invoke(a)))), conditions, collects, classifies)
  +
  +    ///Construct a property that fails if both fail.
       member x.Or(assertion : Func<'a,bool>) =
           SpecBuilder<'a>( generator0, shrinker0, (fun a -> (assertion0 a) .|. (assertion.Invoke(a))), conditions, collects, classifies)
  +
  +    ///Construct a property that fails if both fail.
       member x.Or(assertion : Func<'a,bool>, name:string ) =
           SpecBuilder<'a>( generator0, shrinker0, (fun a -> (assertion0 a) .|. (label name (assertion.Invoke(a)))), conditions, collects, classifies)
       member x.AndFor<'b>(generator:'b Gen, assertion:Func<'b,bool>) =
  
positive.code:     override x.ToString() = base.ToString()
      [<EditorBrowsable(EditorBrowsableState.Never)>]
      abstract Build : unit -> Property
      member x.QuickCheck() = Check.Quick(x.Build())
      member x.QuickCheckThrowOnFailure() = Check.QuickThrowOnFailure(x.Build())
      member x.VerboseCheck() = Check.Verbose(x.Build())
      member x.QuickCheck(name:string) = Check.Quick(name,x.Build())
      member x.QuickCheckThrowOnFailure(name:string) = Check.QuickThrowOnFailure(name,x.Build())
      member x.VerboseCheck(name:string) = Check.Verbose(name,x.Build())
      member x.Check(configuration:Configuration) = Check.One(configuration.ToConfig(),x.Build())
  
  and SpecBuilder<'a> internal   ( generator0:'a Gen
  
negative.code:         gen { let! a = source
                let! b = f.Invoke(a)
                return select.Invoke(a,b) }
  
      /// Generates a list of random length. The maximum length depends on the
      /// size parameter.
      [<System.Runtime.CompilerServices.Extension>]
      static member MakeList<'a> (generator) = listOf generator |> map (fun list -> new List<'a>(list))
  
      /// Generates a non-empty list of random length. The maximum length 
      /// depends on the size parameter.
      [<System.Runtime.CompilerServices.Extension>]
      static member MakeNonEmptyList<'a> (generator) = nonEmptyListOf generator |> map (fun list -> new List<'a>(list))
      
      ///Generates a list of given length, containing values generated by the given generator.
      [<System.Runtime.CompilerServices.Extension>]
      static member MakeListOfLength<'a> (generator, count) = listOfLength count generator |> map (fun list -> new List<'a>(list))
      
      ///Override the current size of the test. resize n g invokes generator g with size parameter n.
      [<System.Runtime.CompilerServices.Extension>]
      static member Resize (generator, sizeTransform : Func<int,int>) =
          sized <| fun s -> resize (sizeTransform.Invoke(s)) generator
  