Filter no longer creates a sparse array as a result when passed an array

When one passes an array into utile.filter, it uses the key which is the array index. It reassigns the values for which pred is true to the key.  It instead should just return a collapsed result by simply pushing the successful value into the new array.