Much like a Cow, but owned values are Arc-ed to make clones cheap. This should be used for values that
are cloned for use across threads and change rarely (if ever).
This also makes an opinionated tradeoff by adding a CowArc::Static and implementing [From<&'static T>] instead of
[From<'a T>]. This preserves the static context and prevents conversion to CowArc::Owned in cases where a reference
is known to be static. This is an optimization that prevents allocations and atomic ref-counting.
A static value reference. This exists to avoid conversion to CowArc::Owned in cases where a reference is
known to be static. This is an optimization that prevents allocations and atomic ref-counting.
Converts this into an “owned” value. If internally a value is borrowed, it will be cloned into an “owned Arc”.
If it is already a CowArc::Owned or a CowArc::Static, it will remain unchanged.
Clones into an owned [CowArc<'static>]. If internally a value is borrowed, it will be cloned into an “owned Arc”.
If it is already a CowArc::Owned or CowArc::Static, the value will be cloned.
This is equivalent to .clone().into_owned().