Support transmutations that allow shrinking the size of the value or referent. This follows up on the work done in #1817. ## Progress - [x] Support value transmutations (`transmute!`) that permit shrinking size - #2581 - [ ] Support reference transmutations (`transmute_{ref,mut}!`) that permit shrinking size - [ ] #2580 - [ ] #2487 - [ ] Support fallible value transmutations (`try_transmute!`) that permit shrinking size - [ ] Support fallible reference transmutations (`try_transmute_{ref,mut}!`) that permit shrinking size