anchor.diff:                  n :: (nextDie (rem-1) (removeNth avail i))
           nextDie 6 pool
   
  +type FourOfAKindWithNoExtraPoints =
  +    static member Roll() =
  +        let g = gen {
  +            let! n = Gen.choose (1,6)
  +            let pool = [n; 1; 5] |> Common.excludeNumbers |> Seq.toList
  +            let len = (pool |> Seq.length) - 1
  +            let! i1 = Gen.choose (0, len)
  +            let! i2 = Gen.choose (0, len)
  +            let roll = (i1 |> List.nth pool) :: (i2 |> List.nth pool) :: (List.init 4 (fun _ -> n))
  +                       |> Common.randomizeOrder
  +            return n,roll
  +        }
  +        g |> Arb.fromGen
  +
   type ThreeOfAKindWithAnotherThreeOfAKind =
       static member Roll() =
           let g = gen {
  
positive.code:         let expected = 2000
          let actual = [1; 1; 1; 1; 2; 3] |> ZonkKata.Roll.CalculatePoints
          test <@ expected = actual @>
  
negative.code:             return Common.oneOrFiveRoll()
          }
          g |> Arb.fromGen
  
  type FourOfAKindWithNoExtraPointsPropertyAttribute () =
      inherit PropertyAttribute (
          Arbitrary = [| typeof<FourOfAKindWithNoExtraPoints> |])
  
  type ThreeOfAKindWithAnotherThreeOfAKindPropertyAttribute () =
      inherit PropertyAttribute (
  