Prefer interval to i variable name.
Add a strict timer mode, which has precisely incremental offsets. Add a degenerate failing case where interval = 0.