Shift the argument left by the specified number of bits (which must be
non-negative). Some instances may throw an
Overflow exception
if given a negative input.
An instance can define either this and
shiftR or the unified
shift, depending on which is more convenient for the type in
question.