correcting bugs in type unification
renaming hasDefaultUpperBounds method