this is actually Nim 'shl'/'shr' inconsistency, but it also reflected by stint. 'shl' inconsistency: * `1.u256 shl 256` runtime will produce 0 * `1.u256 shl 256` compiletime will produce 1 on the other hand `shr` at runtime and compiletime will will produce 0 if we shift beyond number of bits of the left operand. probably signed integer version also suffered from this. there is no documentation and tests for this gray area. related Nim PR nim-lang/Nim#11555