Non-matching argument type for ArrayObject

Documentation specifies that the accepted type is array|object. This only accepted arrays.
I haven't completely fixed the ArraObject in Stdlib yet. It's missing object support.

What I _have_ done, however, is make it compatible. So remove array from the method. To catch other types I've added a conditional and I'm throwing an exception. I've added the unit test for these changes and they work as expected

@mwillbanks I assume that you'll build the object support seeing how it's your class? If not, I might be able to add it in a later PR