Про необходимость глобального анализа для Хинди-Милнера читал у Шиперского в дисере.
Сам в детали автовывода не вникал; но примерно представляю.
Так вот: тип объекта явно не описан. Он конструируется исходя из способа использования объекта. А если объект используется за пределами модуля А, то мне, чтобы скомпилировать А (сопоставить тип объекту), нужно знать все случаи использования А. И перекомпилировать, если возникает новый случай.