I wanted to write something like the following: trait Ctx object Ctx: val default: Ctx = new Ctx {} def foo(arg: Int)(using ctx: Ctx = Ctx.default): Unit = {} def foo(arg1: Int, arg2: Int)(using ctx: Ctx = Ctx.default): Unit = {} //error: two or more overloaded variants of method foo have default arguments I want both foos to have a default values for their contexts, but I’m currently limited since I get the overloading ambiguity error. Why isn’t overloading ambiguity checked on a block-b...