<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fast_memory_load(self, addr, size, data_type, endness='Iend_LE'):
 """ Load memory bytes from loader's memory backend. :param int addr: The address to begin memory loading. :param int size: Size in bytes. :param data_type: Type of the data. :param str endness: Endianness of this memory load. :return: Data read out of the memory. :rtype: int or bytes or str or None """


        if data_type is int:
            try:
                return self.project.loader.memory.unpack_word(addr, size=size, endness=endness)
            except KeyError:
                return None

        try:
            data = self.project.loader.memory.load(addr, size)
            if data_type is str:
                return "".join(chr(i) for i in data)
            return data
        except KeyError:
            return None