You mean a syntax like
import Types as X dataaliases
Which would have the effect of importing
import Types as X
import Types as X.Person (Person(..))
import Types as X.Company (Company(..))
that is, a submodule alias for every datatype that we import from X
?
For duplicate data constructors
Perhaps we could have DuplicateConstructorNames
extension analogous to DuplicateRecordFields
.