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