- $to. If "$from_start + $length" is too long for $from, zeros are copied
- past $length. Grows $to if necessary. Doesn't need to allocate any extra
- memory.
+ $to.
+
+ $from and $to are allowed to be the same scalar, and the given areas can
+ rightfully overlap.
+
+ $from is upgraded to a string if it isn't one already. If "$from_start +
+ $length" goes out of the bounds of $from, then the extra bits are
+ treated as zeros. $to is upgraded to a string and extended if necessary.
+ The content of $from is not modified, except when it is equal to $to.
+ Bits that are outside of the specified area are left untouched.
+
+ This function does not need to allocate any extra memory.
+
+ "vshift"
+ vshift $v, $start, $length => $bits, $insert;