Compares two Arc pointers for equality based on their underlying pointers values.
This is not equivalent to Arc::ptr_eq for fat pointers, see that method
for more information.
Hashes an Arc pointer based on its underlying pointer value.
The general contract for this function is that if arc_ptr_eq returns true
for two Arcs, then this function should return the same hash value for both.