Also, I would just make `f` a third parameter, and rename it `default`