BigInt を使うという手も考えたが、BigInt は任意精度の整数みたいなので(もしかしたら処理系によっては 2^64 以下の数値の場合に最適化された実装がなされているかもしれないけどそのあたりがいまいち読めないので)パフォーマンスが気になってしまう。