smaller bundle size
work in browsers without Array.isArray