I think there are other decent reasons for Haskell's choice though; e.g. you can see whether something is a binder or an equality without considering the lexical context (because it is always a binder), which means that importing names can not change the semantics of working code, only make it ambiguous.