I think its about recursive types/members, e.g.
class Tree { Tree _left, _right; };
Won't compile because it has an infinite size. However class Tree { Tree *_left, *_right; };
Compiles, but the author contends that a more explicit description of the ownership semantics is better: class Tree { value_ptr<Tree> _left, _right; }
This is also why `value_ptr` is different than `optional`.