From: malc <malc@pulsesoft.com>
> I gather all this means that the only "safe" way to call a unit method
> on an implictily typed object is via:
>
> let () = o#moo in ...
Yes, but only if the type of o is unknown.
If o itself was defined by a let statement, or there was a type
annotation
let f (o : c) = ...
then the warnings will work properly (fortunately.)
Personally, I annotate almost all objects received as function
arguments. It may be seen as defeating the purpose of type inference, but
this produces better error messages, and avoids the above problem.
It is also necessary with polymorphic methods or optional arguments.
Jacques Garrigue