> Me too, for (A)! (B) looks too ugly for me. A type declaration should
> refer to the "most local" definition of the name.
I go for A, though I'd say that type declarations are part
of the definitions and the definitions in a module
obviously are of names in that module.
> Btw, why would one declare the type of a function defined outside the
> current module? For documentation only? I would just use a comment if
> that's the case.
You might want to restrict the type of an imported function
to something less polymorphic. But it seems to me that the
logical place for such things is in the import list, since
this is effectively defining the environment for the module.
Jón
--
Jón Fairbairn [EMAIL PROTECTED]
18 Kimberley Road [EMAIL PROTECTED]
Cambridge CB4 1HH +44 1223 570179 (after 14:00 only, please!)