These are often false
What defines the semantics of the interface?
- Much is not (cannot?) be defined, but is inferred by the client
Once properties are inferred, clients start to assume that they are true
Multiple clients may infer different properties
- So changing those properties consistently may be impossible
Client do, in practice, care about (aspects of) the implementation