Unusual inheritance in the OZ governance tutorial

In the governance tutorial (https://docs.openzeppelin.com/contracts/4.x/governance#token) the token imports ERC20, ERC20Permit and ERC20Votes. But ERC20Votes inherits from ERC20Permit which inherits from ERC20, isn't it redundant to import all three contracts? It should be sufficient to just import ERC20Votes, or am I missing something? This would also make the overrides in the tutorial redundant.
There is also a similar issue with the Governor contract below the token contract.

It's technically not necessary to import ERC20, but only because indirectly the other imports brought it in, and I think it's better to make the import explicit instead of relying on the implicit dependency.