Follow abstract underlying type when unifying with structure declaration (see #2933)