I’d like to know whether some integer i <= 2^2^j - 1

The way I’m tempted do this is `i < (1L<<(1L<<j)) - 1`

However the << sometimes produces the wrong result.

```
1L << (1L << 5) - 1// equals 4294967295
1L << (1L << 6) - 1 // equal -9223372036854775808 unfortunately
```

So I tried the following, but it won’t compile.

```
i < (BigInt(1) << (1L << j))
i < (BigInt(1) << (BigInt(1) << j))
i < (BigInt(1) << (BigInt(1) << BigInt(j)))
```

With the following error or similar

```
Error:(159, 64) type mismatch;
found : scala.math.BigInt
required: Int
require(BigInt(i) < (BigInt(1)<<(BigInt(1)<<BigInt(j))) )
```

Does this mean that `<<`

does not support `BigInt`

? Is that intended or an oversight?