Возник такой вопрос, при использовании union типа присваиваемый объект должен быть либо type1, либо type2. Данный объект очевидно не может быть присвоен type1, так как не хватает свойтва b, однако, если предположить, что он type2, то тут также есть лишнее свойство, то есть также должна быть ошибка при присвоении объектного литерала. Однако тс не считает это ошибкой. Почему так?
Вообще, отработало так как ты описал.