Собственно основная проблема тут это то что чаще всего вьюхам (и иногда апдейтам) нужно знать внутреннее представление типа, чтобы иметь возможность кэйситься относительно тайп конструктора... это значит что если они будут снаружи модуля, тип не сможет быть опакью