| Even with option 2, there is scope for confusion. "Import" | without "qualified", imports both qualified and unqualified | names, but adding the word "qualified" doesn't make any | difference to the position of qualified names, but instead | silently fails to import unqualified names. True | There is still a | strange asymmetry, too. Whereas adding "qualified" to "import | Modname ( a, b, c)" doesn't change which entities are | imported, just the ability to refer to them by unqualified | names, adding qualified" to "import Modname hiding ( a, b, | c)" has the effect of importing everything that was previously hidden. Not so. I hope the Report now unambiguously states that import M hiding (a,b,c) import qualified M hiding(a,b,c) imports exactly the same entities (namely all that M exports except a,b,c), only in the latter case only the qualified names are brought into scope. Can you suggest a way I could state it more clearly in the Report? | Personally, I think the right solution is to import entire | modules (the exported parts) qualified, and optionally to | allow unqualified reference to some or all names, with a syntax like | import modid [as modid] [unqualifying ( [all except] | impspec] | all) | | but it's probably too late for this. Dead right! Simon