Inspired by this comment, if import_trait_associated_functions is available, this example can be written as:
use ArithmeticallyAddable::add as a_add;
use Concatenatable::add as c_add;
println!("{}", anb.(a_add)());
println!("{}", anb.(c_add)());
Just looking from the result:
- Much shorter
- But not immediately clear which trait the method comes from (which I think is not uncommon in current Rust anyway?)