pub type SamplerId = Id<Sampler>;
struct SamplerId(RawId, PhantomData<Sampler>);
0: RawId
1: PhantomData<Sampler>