Когда вы полагаетесь на экземпляр класса типов через неявные параметры, есть одна вещь, в которой вы уверены, а именно: вы можете определить экземпляр вашего класса типов во время компиляции (если вы не предоставите его явно , который побеждает цель, а затем мы возвращаемся к примеру 2). Напротив, если вы не можете определить экземпляр этого класса во время компиляции, например, когда вы используете параметр конфигурации для определения типа экземпляра, то неявный параметр любого вида больше не будет подходит.
Таким образом, я бы сказал, на мой взгляд, мне нравится, что всякий раз, когда кто-то может определить экземпляр во время компиляции и позволить компилятору выяснить разводку, делайте это, потому что, как вы сказали, вы много получаете от него Например, возможность пользоваться автоматическим производным класса типов, когда он доступен.
Аргумент "волшебный", хотя и понятный, говорит о том, что тот, кто говорит, что у него еще есть шанс освоить язык, на котором он программирует, должен понять, как все работает, что вполне нормально, но не является достаточно веской причиной, чтобы использовать экземпляры классов типов через неявные параметры.