Organized imports
Improved unification of types by implementing union-find based version