Why do we use std::atomic_long here but int for _refs?