Applied workaround that allows use of make_shared to instantiate B.