re-order template params for SharedByValue_Traits<>; Small cleanups based on this to Iteartor<T> code (tyepdef for sharedptr)