Why is this an issue?

Using multiple times the same name for different types/subtypes is confusing. Names should be unique and should describe the functionality.

How to fix it

Code examples

Noncompliant code example

File 1:
type fly is ...

File 2:
type fly is ...

Compliant solution

File 1:
type fly is ...

File 2:
type dream is ...