A convenience macro to allocate atomically reference counted
data with the size of the given
type, and set its contents
This macro calls
casts the returned pointer to a pointer of the given
avoiding a type cast in the source code.