The acq barrier in refcount_acquire() has no use, constructor must ensure that the changes are visible before publication by other means.
Last release must sync/with the constructor and all updaters.
This is quite subtle and based on the refcount/shared_ptr analysis I heard at the Hans Boehm/ Herb Sutter talks about C++ atomics.