shared_ref requires now explicit make_ref() to construct inner object
Get rid of impl::no_memory, default ctor is now state "unitialized"