Back in #362, an assertion was added to ensure that the alignment of bytes::Shared is even so we can use the least significant bit as a flag. bytes_mut::Shared uses the same technique but has no such assertion so I've added one here.
self.
Self::
I was a little confused about these calls using `Self::` instead of `self.` here. Is there a reason to use the former instead of the latter?