Bridge to Mercury

It you want to say that mode and type declarations are an important part of documentation/specification, I fully agree. I also think it is great that we do not need them everywhere and we can omit them completely. Mode declarations existed in old implementations such as DEC10 Prolog, I think mostly for performance reasons. The evidence that they are essential for performance is not hard though.