A Wrapper for Arc that can be Arc<T> or Weak<T> allowing one to retain values selectively.
Arc<T>
Weak<T>