Do you know the performance characteristics of `function_exists()`? This is going to get called a lot... I wonder if we should cache whether it exists in an instance variable, and then only do the `array_walk_recursive()` call if it does exist.