The current doc says "To immediately begin a new interval, without completion of the current interval as scheduled, use begin()." I suggest it say one more thing after this sentence: something like "If the same object involved with an interval in progress needs to override it the end function must be called first".

Also the begin function doc says "False is returned if all hardware resources are busy, used by other IntervalTimer objects." This is misleading (for the T4/4.1 at least: I don't know about earlier chips). The source code clearly shows that the test for resources in use is object-agnostic. Object X that calls begin and then calls begin again without having called the end function will get the same error return as object Y if all the timers are in use. I suggest, if this is portable across all the Teensy implementations, simply deleting ", used by other IntervalTimer objects".