Внешние зависимости должны работать с type BU = BU1 & BU2 а не с BU1 или BU2. Но все реализации должны экспортировать типы вроде BU1 которые на прямую отражают то с чем работает код.
особенно это актуально для сущностей без конструкторов, то есть, объектов, которые, к примеру, присылаются исключительно бэком: если у тебя есть дюжина типов формата {type: string, value: ...} то что ещё предлагаешь положить к ним в файл? таким образом и формируются файлы с типами
Effector - тулза, стейт манагер, суть такова... Пользователь может делать мультистору, эффекты функций и ивенты. И если пользователь делает мультистору то сторы в модуле, бизнес логика импортятся юниты либы и опираторы. Можно вызвать сайд-эффекты... И сторов раз много то сделано так что там дата флоу 😂