def __deepcopy__(self, memo):
        """Return a deep copy of this flat list dict.

        Works by simply creating a dictionary from this
        instance, making a deep copy of such dictionary
        and creating another instance of this class from
        the deep copy of the dictionary.

        This method is executed automatically by the
        copy.deepcopy function.

        memo (dict)
            provided automatically by the copy.deepcopy
            function. Used by copy.deepcopy to keep track
            of objects which were already deepcopied, thus
            avoiding deepcopying the same object more than
            once. It isn't used in this method, since
            there's no circular references between the
            instance components, but it is kept in order to
            comply with the python official documentation
            for the "copy" module.
        """
        ### create a normal dict out of this instance
        dict_obj = dict(self)

        ### get a deep copy of that dict
        dict_deep_copy = deepcopy(dict_obj)

        ### then finally turn it into an instance of this
        ### class and return it

        ## retrieve class object
        cls = self.__class__

        ## use the class object and the dict deep copy to
        ## instantiate a new flat list dict
        new_flat_list_dict = cls(dict_deep_copy)

        ## finally return it
        return new_flat_list_dict
Return a deep copy of this flat list dict.

        Works by simply creating a dictionary from this
        instance, making a deep copy of such dictionary
        and creating another instance of this class from
        the deep copy of the dictionary.

        This method is executed automatically by the
        copy.deepcopy function.

        memo (dict)
            provided automatically by the copy.deepcopy
            function. Used by copy.deepcopy to keep track
            of objects which were already deepcopied, thus
            avoiding deepcopying the same object more than
            once. It isn't used in this method, since
            there's no circular references between the
            instance components, but it is kept in order to
            comply with the python official documentation
            for the "copy" module.
        
nodezator/ourstdlibs/collections/fldict/main.py