We should have interfaces for all repositories. You can't typehint EntityRepository or RepositoryInterface and use non existing methods. It also makes all objects using this repository testable. (phpspec does not allow to mock non existing methods)