В приложении много алгоритмов построенно с помощью Visitor'а, при чем Visit перегружен под конкретные типы. А когда начали писать тесты поняли, что писать моки под конкретные типы не вариант... Я правильно понимаю, что иного пути, кроме как из каждого типа выделить интерфейс и переписать в терминах интерфейса нет?