fixed Iterable<T> to not need todo if this != &rhs trick - and instead do it in SharedByValue<> (though maybe not needed there either cuz in shared_ptr???)