For String code - defined _IterableSharedPtrIRep to refer to Iterable<Character>::SharedPtrRep ... and make String::SharedPtrRep be a referece to ITS rep type (so more type safe)