обнаружение бесконечной рекурсии массива в PHP?

я только что переработал свой алгоритм обнаружения рекурсии в моем любимом проекте dump_r ()

https://github.com/leeoniya/dump_r.php

обнаружение рекурсии объекта не так уж и сложно - вы используете spl_object_hash (), чтобы получить уникальный внутренний идентификатор экземпляра объекта, сохранить его в dict и сравнить с ним при сбросе других узлов.

для обнаружения рекурсии массива я немного озадачен, я не нашел ничего полезного. Сам php способен идентифицировать рекурсию, хотя, кажется, делает это за один цикл слишком поздно.РЕДАКТИРОВАТЬ: НВМ, это происходит, где это необходимо :)

$arr = array();
$arr[] = array(&$arr);
print_r($arr);

нужно ли прибегать к отслеживанию всего в стеке рекурсии и делать поверхностные сравнения с любым другим элементом массива?

любая помощь будет оценена,
Спасибо!