anchor.diff:              return Common.oneOrFiveRoll()
           }
           g |> Arb.fromGen
  +
  +type FourOfAKindWithExtraPointsPropertyAttribute () =
  +    inherit PropertyAttribute (
  +        Arbitrary = [| typeof<FourOfAKindWithExtraPoints> |])
   
   type FourOfAKindWithNoExtraPointsPropertyAttribute () =
       inherit PropertyAttribute (
  
positive.code:         let expected = 2 * (n |> ZonkKata.Roll.ThreeOfAKindPoints)
          let actual = roll |> ZonkKata.Roll.CalculatePoints
          test <@ expected = actual @>
  
negative.code:         }
          g |> Arb.fromGen
  
  type FourOfAKindWithExtraPoints = 
      static member Roll() =
          let g = gen {
              let! n = Gen.choose (1,6)
              let pool = n |> Common.excludeNumber |> Seq.toList
              let scoringDice = [1; 5] |> List.filter (fun x -> x <> n) 
              let! i = Gen.choose (0, (scoringDice |> Seq.length) - 1)
              let oneOrFive = i |> List.nth scoringDice
              let! j = Gen.choose (0,4)
              let last = j |> List.nth (n |> Common.excludeNumber |> Seq.toList)
              let roll = oneOrFive :: last :: (List.init 4 (fun _ -> n))
              return n,roll
          }
          g |> Arb.fromGen
  
  type ThreeOfAKindWithAnotherThreeOfAKind =
      static member Roll() =
          let g = gen {
  