"Another solution often used is to abstract the types in the interfaces." . . . .