Reference-counting memory owner, holds one shared instance of type T. Don't use it to hold built-in arrays, use custom array type instead. Deallocates in destructor, when reference count is zero.
See Implementation