Any design for this issue will interact with other issues tracked by #885; make sure to read that issue when tackling this one.
Currently, Unalign always has an alignment of 1. We could extend it with a const parameter that specifies the alignment to reduce to (ie, make it struct Unalign<const ALIGN: usize, T>).
cc @kupiakos