Discussions of modular implicits almost always mention Haskell type classes and Rust traits as prior art. But Clojure protocols are cooler. Clojure - Protocols
Modular explicits are still quite explicit, but they make it much lighter to write and use functions that depends on module arguments without the ceremony about defining and instantiating functors.