> I think the motivation is exactly what you said. Allowing developers more > control over how the object is treated when casted to an array - which would > include when it is passed into an array_* function.
I couldn’t (and didn’t) have said it better myself. My motivation is really just to give developers more control over their code and allow them to have cleaner code.