А насколько вообще критично ADL для времени компиляции? Например я у себя подделку под std format внедрял, тоже честно как в стандарте ADL выпилил но добавил приоритет для member функции T::format(context) (что оказалось супер удобно) и в formatter псевдо-параметр Enable сделал для всяких enable-if (что мне кажется то же зло что и ADL).
Enable параметр отличная тема! Недавно его сильно не хватало как раз в формате
К счастью в C++20 он не нужен, можно навесить requires и без лишних шаблонов