anchor.diff:      Seq.map (fun (id, a) -> (id, Array.map discretise a)) rows
   
   let boolArrayToUint32 (a : bool []) =
  -    let a = Array.rev a
  -    let x = BitArray a
  +    let a = BitArray (Array.rev a)
       let u = [| 0 |]
  -    x.CopyTo(u, 0)
  +    a.CopyTo(u, 0)
       uint32 (u.[0])
   
  -let boolArrayToUint64 (a : bool []) =
  +let boolArrayToUint64 a =
       if Array.length a <= 32 then
           uint64 (boolArrayToUint32 a)
       else
  
positive.code: ﻿#r "FSharp.Data.dll"
  #r "FSharpx.Core.dll"
  
  open System.Collections
  
negative.code:         let low = boolArrayToUint32 a.[32 ..]
          (uint64 high <<< (Array.length a.[32 ..])) ||| uint64 low
  
  let toUniqueBitvectors rows =
      let seen = HashSet<uint64>()
      Map.ofList [ for (id, array) in rows do
                       let bitVec = boolArrayToUint64 array
  