anchor.diff:  (* Primes *)
   
   let genBigInt (r: Random) (bits: int) : BigInteger =
  -    BigInteger 0
  +    let nums = Array.map string [|0..9|]
  +    let chars = Array.map string [|'a'..'f'|]
  +    let hexChars = Array.append nums chars
  +    let hex = String.concat "" [| for _ in [1..(bits/4)] do
  +                                  yield hexChars.[r.Next(16)] |]
  +    hexToBigInt hex
   
   let checkFactors (ps: BigInteger list) (n: BigInteger) : bool =
       let z = BigInteger 0
  
positive.code:         match n > 1000 with
          | true -> BigInteger 0
          | _    -> let g = genBigInt r bits
                    if isProbPrime g then true else loop (n+1) r
      let r = new Random()
      loop 0 r
  
  let primes = readLines "large_primes.csv" |> Seq.map BigInteger.Parse
  
  (* RSA *)
  
  
negative.code:         | _    -> let a = 1 + r.Next(1000000000) |> BigInteger
                    let n' = n - one
                    let test = BigInteger.ModPow (a, n', n)
                    if test = one then check (iter+1) else false
      check 0
  
  let isProbPrime (n: BigInteger) : bool =
  