Getting back to this, I prefer it to throw. A wrong parameter here is a programmer error and as such it should fail fast. In fact, I think I should add `if (!Y.Lang.isArray(values)) { Y.log('TypeError: wrong parameter type', 'error'); }`, because if you pass a non null|undefined|arraylike value the result will be a forever pending promise, a hard thing to debug.