Twice over the past few weeks using a negative start value for both String.substr and Array.splice has come back to bite me. So, for the record, if you are use to using:

// should return 'bar'

// should return [2,3,4]

Too bad, you either need overwrite these methods with your own or change your approach thanks to IE. Mozilla provides a nice work around, but I just prefer to leave prototypes alone and approach it differently.