array-extras.js revision 77233109ecd5f5823f64aed88ebfbae24c2d402f