Как по мне, бесполезная функция. Особенно если юзаешь статанализ, всегда знаешь, list у тебя или нет. А если надо гарантированно получить list, просто делаешь array_values да и всё.
еще проблема в произвольности типа значения. только у пыхи и может у жс (может еще в нескольких языках подобных) так можно. в других языках все строго - значения одного типа. хотя... тут заявлять не буду - не шарю. но логичным выглядит именно такой расклад.
лист, кстати, вообще это такая структурка... не массив короче. на плюсах еще когда писал - односвязный список это структура элемента, содержит ссылку на следующий элемент и значение. в пыхе хз как сделано. вектор и лист - в корне разные по реализации вещи. не припомню вообще чтобы в пыхе вектор упоминался где-то