substituteMarkerArrayCached is too strict for older extensions
Many extensions using substituteMarkerArrayCached will fail in 4.3 as the function changed. All arguments has to be an array, otherwise you get following error:
Catchable fatal error: Argument [2,3,4] passed to tslib_cObj::substituteMarkerArrayCached() must be an array, null given
Thanks for Steffen Kamper for reporting. After some discussion in the -dev list, the idea came up to keep the type hinting but to allow the special case "null" (also uninitialized variable) to keep older extensions happy.
(issue imported from #M9533)