pub type ImageId = Id<ImageKind>;
pub struct ImageId(u32, PhantomData<ImageKind>);
0: u32
1: PhantomData<ImageKind>