def merge_(self, merge_dct):
for k, v in merge_dct.items():<EOL><INDENT>if (k in self and isinstance(self[k], dict) and isinstance(merge_dct[k], collections.Mapping)):<EOL><INDENT>self[k].merge_(dicto(merge_dct[k]))<EOL><DEDENT>else:<EOL><INDENT>self[k] = merge_dct[k]<EOL><DEDENT><DEDENT>return self<EOL>
Recursive dict merge. Inspired by :meth:``dict.update()``, instead of
        updating only top-level keys, dict_merge recurses down into dicts nested
        to an arbitrary depth, updating keys. The ``merge_dct`` is merged into
        ``self``.
        :param self: dict onto which the merge is executed
        :param merge_dct: self merged into self
        :return: None