Why does this return NULL when out of bounds. Perhaps for hashinating, that's cool, but as a general method, I don't think it works.
Can we just axe this method and use toArray()[index] instead?
If we think it's going to be out of bounds, we should have the caller deal with that.