What\'s the most convenient way to be able to store either std::shared_ptr or Foo* in the same type?
Foo* a = ...; std::shared_ptr b = ...; Bar c