For the multiple initialization and finalization support it would be helpful to have a fetch and add operation for the `shmem_internal_counter` Without a fetch and add operation the internal initialization routine would need to be protected by a mutex even though the counter itself is atomic.