Basic implementation of Rc shared pointer
Required to use PhantomData
Struct to store T value and ref count of the Rc