Some "common sense" constraints on generalizing the interfaces may be put here. Often it is difficult to predict usage of the interface outside the current scope (except obvious/trivial cases). Generalized interface may be more difficult to implement and use in the current scope, and still it may require adjustments for the future uses.