Makes better use of internal function isArray