def METHOD_NAME(reference, other):
    """Recurse through the given structure and find mismatched arrays.
    Disregard mismatched structure, if types aren't correct or not all
    object keys are present, we don't care about that (Weblate will fix it
    later, but Weblate can't fix array mismatches).
    """
    ret = {}
    def recurse(ref, oth, p):
        if isinstance(ref, dict) and isinstance(oth, dict):
            for key in set(ref.keys()) & set(oth.keys()):
                recurse(ref[key], oth[key], p + [f'.{key}'])
            return
        if isinstance(ref, list) and isinstance(oth, list):
            if len(ref) != len(oth):
                ret[''.join(p)] = Mismatch(ref, oth)
            else:
                for i in range(min(len(ref), len(oth))):
                    recurse(ref[i], oth[i], p + [f'[{i}]'])
            return
    recurse(reference, other, [])
    return ret