Given that only one trait can be implemented, is there a reason to have separate names `call()`, `call_fn()`, and `call_once()`? All 3 traits could define the same method `call()`.