I have a function f which takes two arguments of the same type, and a function g which takes two arguments of different types, but both types have
f
g
I found a solution. It's not done by a where clause, but this way:
where
fn g>(a: T, b: U) { // where T::A is equal to B::A f(a.getter(), b.getter()) }