You’re not wrong! Maybe the real solution is to provide an implementation that throws an error message telling the user to choose one of several implementations explicitly.
Yeah, I realized this after I wrote it. thanks for that clarification.
and this is a good point.