anchor.diff:  
       testList "DisjointSet ADT" [
   
  +        testPropertyWithConfig {Config.Quick with MaxTest=250}  
  +            "A disjoint with no unions has size subsets" <| 
  +                fun (djSize: DisjointSetSize) ->
  +                    let djSet = DisjointSet.make djSize
  +                    let size = DisjointSet.size djSet
  +                    let setsCount = subSetsCount djSet
  +                    
  +                    setsCount = size            
  +
           testPropertyWithConfig {Config.Quick with MaxTest=250} 
               "A disjoint set has between 0 and size subsets" <|
               fun (disjointSet: DisjointSet) ->
  -                let sets = subSets disjointSet
  -                let setsCount = Array.length sets
  -                let size = DisjointSet.size disjointSet
  +                let setsCount = subSetsCount disjointSet
  +                let size = DisjointSet.size disjointSet
  +                
                   setsCount >= 0 && setsCount <= size
   
           testPropertyWithConfig {Config.Quick with MaxTest=250} 
  
positive.code:                     let size = DisjointSet.size disjointSet
                      let maxIndex = size - 1
                      let makeValidEntry = fun _ -> randomEntry maxIndex
                      let setsCount = Array.length <| subSets disjointSet
  
                      let a = makeValidEntry()
                      let b = makeValidEntry()
  
negative.code:                 isEmpty disjointSet || checkInSameSubsetAfterUnion()
  
          testPropertyWithConfig {Config.Quick with MaxTest=250}
              "After a union of a b then at most one of a b change their subset EntryId to be the same subset." <|
              fun (disjointSet: DisjointSet) ->
  
                  let checkUnioningBetweenCorrectSubsets = fun _ ->
  