use crate::*;
use typenum::Unsigned;
pub trait Layout {
const SIZE: usize = <Self as Layout>::Size::USIZE;
const ALIGN: usize = <Self as Layout>::Align::USIZE;
type Size: Unsigned;
type Align: Unsigned;
}
impl<T: Align<C> + Size<C>> Layout for T
{
type Size = <Self as Size<C>>::Value;
type Align = <Self as Align<C>>::Value;
}