It's not quite true that you have no namespaces. Rather, in most languages a class or struct creates a namespace. In Haskell, it does not. Record accessors are still constrained by module. There are also data types where the fields are not named. And typeclasses can define names that can be used across multiple types.
Between all of these, it's much less painful than you might expect, though there certainly remains some pain.
Between all of these, it's much less painful than you might expect, though there certainly remains some pain.