Fix #16030 by refactoring IfaceSyn's treatment of GADT constructors