For example, can "IndexError: list index out of range" actually say what value in which variable caused the error and what the bound was? Eg. rather than bare
a[i][j] += max(a[i][j-d], a[i-1][j])
IndexError: list index out of range
Get this:
IndexError: list index out of range: j-d=250 for expected range of [0:250]
This could cut quite some time of the most mundane development process that otherwise I waste on backtracking the code or inserting print statements to obtain such info.
