They all are the same interface and can be passed into each other's methods, leading to a logical error.