Adding the beginnings of lenses.
I hate to have any reference to null or undefined but it does resolve the test of undefined/null when accessing a array with an invalid index.

Example:

var index = Math.floor(_.randomRange(0, a.length));
return _.equal(_.Lens.arrayLens(index).run(a).get(), a[index]);

The above would not pass the test if the array length is 0 because a[index] is undefined.