Имейте в виду, что потребителям вашего кода на самом деле не понадобится , чтобы использовать операторы. Они призваны облегчить им жизнь, поэтому им не нужно вводить antlr.collections.Foo и antlr.collections.Bar по всему их источнику.
Большим «воздействием» (если оно действительно серьезное) является то, что потребителю вашего кода понадобится жесткая ссылка на сборку, в которой определен antlr.collections.
Однако, если это задокументировано заранее, я, честно говоря, не вижу в этом большой проблемы. Он ничем не отличается от потребителя DAL, сгенерированного SubSonic, нуждающегося в ссылках как на сгенерированную сборку DAL, так и на оригинальную сборку SubSonic. (И, вполне возможно, с использованием утверждений.)
Зависимости - это то, что они есть. Есть причина, по которой классы разбиты на пространства имен - в первую очередь для организации и для уменьшения конфликтов имен. Не зная, какие классы находятся в упомянутом вами пространстве имен, я не знаю, насколько вероятен такой конфликт на самом деле в вашем сценарии ... Но я пытаюсь переместить класс из одного пространства имен в другое или скрыть тот факт, что такой нужен вывод из него пустого класса, вероятно, не лучшая идея. Потребителям вашего класса не помешает иметь другую ссылку и оператор использования.