def dig_deeper(entry, field, res, depth=10):
    """A helper function for :func:`get_wiktionary_field_strings`.
    It recursively locates the target field.

    Args:
        entry (dict or list): the entity to investigate
        field (str): the field to look up
        res (list): the list of found entities to update
        depth (integer): maximum recursion depth (otherwise this does blow up
            memory for some entries like "cat")

    Returns:
        (list): the updated list of found entities
    """
    if depth > 0:
        if isinstance(entry, dict):
            for key, val in entry.items():
                if field == key:
                    if entry[key]:
                        # if isinstance(entry[key], str):
                        res.append(entry[key])
                        return res

                elif isinstance(val, list):
                    for i in val:
                        depth -= 1
                        res = dig_deeper(val, field, res, depth)

        elif isinstance(entry, list):
            for i in entry:
                depth -= 1
                res = dig_deeper(i, field, res, depth)
        return res
    else:
        return res