anchor.diff:          
       [<Property>]
       let ``Array2D shrinks to smaller array or smaller elements`` (value:int[,]) =
  -        let existsSmallerElement arr v = 
  +        let existsSmallerElement v = 
               let result = ref false
               Array2D.iteri (fun i j elem -> result := (!result || abs elem <= abs value.[i,j])) v
               !result
  
positive.code:         shrink value 
          |> Seq.forall (fun (KeyValue(k,v)) -> shrink value.Key |> Seq.exists ((=) k) || shrink value.Value |> Seq.exists ((=) v))
  
      [<Property>]                       
      let ``Array shrinks to shorter array or smaller elements`` (value:int[]) =
          shrink value 
          |> Seq.forall (fun v -> v.Length < value.Length || Array.exists2 (fun e1 e2 -> abs e1 <= abs e2) v value)
  
negative.code: 
      [<Fact>]
      let ``Derive generator for concrete class with one constructor with no parameters``() =
          generate<Empty> |> sample 10 |> ignore
  
      type IntWrapper(a:int) = class end
  
      [<Fact>]
      let ``Derive generator for concrete class with one constructor with one parameter``() =
          generate<IntWrapper> |> sample 10 |> ignore
  
      type FakeRecord(a: int, b: string) =
          member __.A = a
          member __.B = b
  
      [<Fact>]
      let ``Derive generator for concrete class with one constructor with two parameters``() =
          generate<FakeRecord> |> sample 10 |> ignore
  
  