Look for `Enumerable` rather than `Array` in predicates

It's not quite duck typed, but it will allow us to pass in our own
objects with additional logic (like type casting).