bigWordIntegerTest :: forall t. (Num t) => Integer -> Proxy t -> Benchmark
bigWordIntegerTest n zero =
  env (twoNumbers n) $ \ ~(x, y) -> bgroup ("BigWord " ++ show n)
    [
      bench "BigWord" $ whnf (uncurry (+)) (fromInteger x :: t, fromInteger y :: t),
      bench "Integer" $ whnf (uncurry (+)) (x, y)
    ]
bigWordIntegerTest :: forall t. (Num t) => Integer -> Proxy t -> Benchmark
bigWordIntegerTest n zero =
  env (twoNumbers n) $ \ ~(x, y) -> bgroup ("BigWord " ++ show n)
    [
      bench "BigWord" $ whnf (uncurry (+)) (fromInteger x :: t, fromInteger y :: t),
      bench "Integer" $ whnf (uncurry (+)) (x, y)
    ]
bigWordIntegerTest n zero =
  env (twoNumbers n) $ \ ~(x, y) -> bgroup ("BigWord " ++ show n)
    [
      bench "BigWord" $ whnf (uncurry (+)) (fromInteger x :: t, fromInteger y :: t),
      bench "Integer" $ whnf (uncurry (+)) (x, y)
    ]