If we can't return a long+TimeUnit together, then the nearest thing is what zsxwing suggested:                                     ```Func1<TState, Long> timeSelector, TimeUnit unit```. Further alternative would be to have an unitSelector in pair with the timeSelector (```Func1<TState, Long> timeSelector, Func<TState, TimeUnit> unitSelector```), but that puts an extra burden on clients to "synchronize" the return values of the two selectors.