BUG: Support array interface

This should fix #3390.
> > +            len(set(safe_asarray(y).shape[1] for y in ys)) > 1):

> why not len(y) ?

It's shape[1], not shape[0].

I am not super happy with this code, so if you have another suggestion, I
am all ears.