without 
			explicit destructors.
			<li>
				A custom deallocator can be passed in when creating a <b>shared_ptr</b> or <b>shared_array</b>.
			<li>
				<b>shared_static_cast</b> and <b>shared_dynamic_cast</b> function templates are 
				provided which work for <b>shared_ptr</b> and <b>weak_ptr</b> as <b>static_cast</b>
				and <b>dynamic_cast</b>
			do for pointers.
			<li>
				The self-assignment misfeature has been removed from <b>shared_ptr::reset</b>, 
				although it is still present in <b>scoped_ptr