As an aside, it seems like ARRAYTABLE *could* support implementations of ListIterator (perhaps Iterator?) as well. That would simplify hooking up some of our Java collections to Teiid.
There is no end-to-end support for array types. The client driver doesn't have any logic for them, and unless a serializable array is supplied, vendor java.sql.Array values are unlikely to work in remote situations. There is an existing JIRA https://issues.jboss.org/browse/TEIID-247 covering full array type support.
There is partial support for arrays in two forms. The engine has arraytable, array_length, and array_get all work against java.sql.Array or java array values. There is now also pushdown support for array comparsion for multi-attribute depedent joins, i.e. (col1, col2) IN ((a, b), (c, d) ...).
Having ARRAYTABLE operate against an Iterable value is more like having a cursor type, which is not yet a proper concept for us either. However this should be addressed somewhat by https://issues.jboss.org/browse/TEIID-2141, which would have the notion of a row generating expression that will allow us to step over something that is Iteratable.