Shift the first argument right by the specified number of bits. The
result is undefined for negative shift amounts and shift amounts
greater or equal to the
bitSize. Some instances may throw an
Overflow exception if given a negative input.
Right shifts perform sign extension on signed number types; i.e. they
fill the top bits with 1 if the
x is negative and with 0
otherwise.
An instance can define either this and
shiftL or the unified
shift, depending on which is more convenient for the type in
question.