anchor.diff:              let name = (name+"-")
               match testResult with
                   | True data -> printf "%sOk, passed %i tests%s" name data.NumberOfTests (data.Stamps |> stamps_to_string )
  -                | False (data, args) -> printf "%sFalsifiable, after %i tests: %A\n" name data.NumberOfTests args 
  +                | False (data, args, None) -> printf "%sFalsifiable, after %i tests: %A\n" name data.NumberOfTests args 
  +                | False (data, args, Some exc) -> printf "%sFalsifiable, after %i tests: %A\n with exception:\n%O" name data.NumberOfTests args exc
                   | Exhausted data -> printf "%sArguments exhausted after %i tests%s" name data.NumberOfTests (data.Stamps |> stamps_to_string )
       }
          
  
positive.code: 
  let generators = new Dictionary<_,_>()
  
  let registerGenerators t =
      findGenerators t |> Seq.iter (fun (t,mi) -> generators.Add(t, mi))
  
  registerGenerators (typeof<Gen>)
  
  
negative.code:       every   : int -> list<obj> -> string  //determines what to print if new arguments args are generated in test n
        runner  : IRunner } //the test runner  
  
  
  let (|Lazy|) (inp:Lazy<'a>) = inp.Force()             
  
  