In other words, must the callback function `f` be of the form `f(void)` or can it have arguments? Many thanks for your help, neat library!