anchor.diff:          }
           g |> Arb.fromGen
   
  +type ThreeOfAKindWithExtraPointsPropertyAttribute () =
  +    inherit PropertyAttribute (
  +        Arbitrary = [| typeof<ThreeOfAKindWithExtraPoints> |])
  +
   type ThreeOfAKindWithNoMorePointsPropertyAttribute () =
       inherit PropertyAttribute (
           Arbitrary = [| typeof<ThreeOfAKindWithNoMorePoints> |])
  
positive.code:         let expected = n |> ZonkKata.Roll.ThreeOfAKindPoints
          let actual = roll |> ZonkKata.Roll.CalculatePoints
          test <@ expected = actual @>
  
negative.code:         } 
          g |> Arb.fromGen
  
  type ThreeOfAKindWithExtraPoints = 
      static member Roll() =
          let g = gen {
              let! n = Gen.choose (1,6)
              let rest = n |> Common.excludeNumber |> Seq.toList
              let pool = rest @ rest |> Common.randomizeOrder |> Seq.take 3 |> Seq.toList
              let roll = n :: n :: n :: pool |> Common.randomizeOrder
              return (n, roll)
          }
          g |> Arb.fromGen
            |> Arb.filter (fun (n, roll) -> 
                              let scoring = [1; 5] |> List.filter (fun x -> x <> n)
                              roll |> List.exists (fun x -> scoring |> List.exists (fun y -> y = x)))
  
  type ZonkRoll = 
      static member Roll() =
  