Oi mestre,
Então, eu vi esse probleminha também rsrs, teria que ficar sem tipagem. Só achei interessante ter uma interface mais segregada caso tivesse mais entidades, talvez fosse útil em algum cenário definir uma interface em comum para repositórios, mas como sempre, pode ser apenas besteira minha.
Para ser mais sincero, eu perguntei isso por que eu fiz algumas alterações nos exemplos dados no curso:
1- criei uma abstract class PdoRepository pensando em reunir algumas operações em comum em possíveis repositórios em PDO, como por exemplo realizar o bind de valores de maneira automática.
2- Coloquei o método de hidratação nessa nova classe abstrata e fiz uma abstração no método removendo a parte em que ele instancia os estudantes por um callable, assim cada repositório só vai ter a responsabiliade de implementar um método que retorna um callable onde esse callable diz como instanciar a sua entidade específica.
Fugindo um pouco do assunto: Ontem a noite estava lendo um artigo meio denso em PHP do nikic e quem encontro nos comentários? O senhor rsrs