question for you Ben Ph: If we have a driver waiting for the timer to hit 10s, with an impl that overflows at 5s. Given these two scenarios option A: trait forces implementor to return `Err(Overflow)` on overflow. -> user gets an error, they find the problem and fix it. option B: trait leaves overflow to the implementation. the implementation chooses to silently overflow -> timer cycles forever 0..5, user sees the driver hangs and has no idea why. are you seriously saying we should do B instead of A?