A container type that can hold volatile data and allow for safe reads and mutation of its contents with support for use in packed structs