как-то экспериментировал по переключению либ. У меня проект завязан на свою кастомную обертку под гошную либу и если она отвалится, то это беда + неудобство с указанием пути к либе, насколько я знаю, из кода его не проставить. Вроде как dub понимает, что если dependencies объявить в конфигурации, то их нужно добавить к списку глобальных зависимостей, получается часть зависимостей в руте, часть - в самих конфигурациях. Итого, в коде для полной версии импортируется и используется моя либа (в т.ч. биндинг через extern) через условную компиляцию version, а если нет, то тогда используется дешный arsd и прога вроде бы нормально (на первый взгляд) переключается между этими двумя либами, по крайней мере ругается на отсутствующие символы, если что-то напутать. Хотя насчет корректности зависимостей в конфигурации я до конца не уверен...