def promote(self, cls, update=False, preserve=True):
		"""Transform this record into an instance of a more specialized subclass."""
		
		if not issubclass(cls, self.__class__):
			raise TypeError("Must promote to a subclass of " + self.__class__.__name__)
		
		return self._as(cls, update, preserve)