shiftR package:base

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.
Shift the argument right by the specified number of bits (which must be non-negative). The RL means "right, logical" (as opposed to RA for arithmetic) (although an arithmetic right shift wouldn't make sense for Word#)
Shift the first argument right by the specified number of bits, which must be non-negative and smaller than the number of bits in the type. 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. Defaults to shiftR unless defined explicitly by an instance.
Shift the argument right (signed) by the specified number of bits (which must be non-negative). The RA means "right, arithmetic" (as opposed to RL for logical)
Shift the argument right (unsigned) by the specified number of bits (which must be non-negative). The RL means "right, logical" (as opposed to RA for arithmetic)
Shift right arithmetic. Result undefined if shift amount is not in the range 0 to word size - 1 inclusive.
Shift right logical. Result undefined if shift amount is not in the range 0 to word size - 1 inclusive.
Shift right logical. Result undefined if shift amount is not in the range 0 to word size - 1 inclusive.