[From Sam's Turbidostat:] The two common failure modes I saw were:
Reading outside the bounds of the timepoints array when calculating a dt, and
Issues when the timepoint array is empty or size one where the function ends up returning a state with the same time as the initial state.