anchor.diff:                  n :: (nextDie (rem-1) (removeNth avail i))
           nextDie 6 pool
   
  +type ThreeOfAKindWithNoMorePoints =
  +    static member Roll() =
  +        let g = gen {
  +            let! n = Gen.choose (1,6)
  +            let pool = [n; 1; 5] |> Common.excludeNumbers |> Seq.toList
  +            let rest = pool @ pool |> Common.randomizeOrder |> Seq.take 3 |> Seq.toList
  +            let roll = n :: n :: n :: rest |> Common.randomizeOrder
  +            return (n, roll)
  +        } 
  +        g |> Arb.fromGen
  +
  +
  +
   type ZonkRoll = 
       static member Roll() =
           let g = gen {
  
positive.code:     let rand = new Random()
  
      let excludeNumber n = seq { for i in 1..6 do if i <> n then yield i }
  
      let removeNth l n = l 
                          |> List.fold (fun (nth, i, acc) elem -> 
                                          let acc' = match nth = i with 
  
negative.code:         }
          g |> Arb.fromGen
  
  type ThreeOfAKindWithNoMorePointsPropertyAttribute () =
      inherit PropertyAttribute (
          Arbitrary = [| typeof<ThreeOfAKindWithNoMorePoints> |])
  
  type OneOrFiveRollPropertyAttribute () =
      inherit PropertyAttribute (
          Arbitrary = [| typeof<OneOrFiveRoll> |])
  