Safe Shifts
It is safe to shift (<<, >>) a value of type T where `β = sizeof(T) * 8 (with  SafeUnsigned value
- by 0 bits, in which case the result is the value unchanged
 - by 
bitsof(T)bits, in which case the result iszero(T) - by 
-bitsof(T)bits, in which case the result iszero(T) - by ⦃1, .., 
bitsof(T)-1⦄- the result is strictly less than any nonzero value given
 - the result, given a zero value remains zero
 
 - by ⦃-1, .., 
-(bitsof(T)-1)⦄- the result is strictly greater than any nonzero value given
 - the result, given a zero value remains zero
 
 
of type T by 0 bits (unchanged) or by ±β bits where β ∈ ⦃0, 1, .., bitsof(T)⦄.
An OverflowError occurs when there is an attempt to shift a value of safe type T by a magnitude greater than ±bitsof(T).