Implicit error when trying to implement the `Absurd` typeclass
问题 I'm trying to implement the Absurd typeclass (as seen in Haskell's Data.Boring library) in Scala. I'm able to define an Absurd instance for Nothing . Unfortunately, when I try to define an absurd instance for Either , I get a missing implicit error sealed trait Absurd[A] { def absurd[X](a: A): X } object Absurd { def apply[A: Absurd, B](a: A):B = implicitly[Absurd[A]].absurd[B](a) implicit val absurdForNothing: Absurd[Nothing] = new Absurd[Nothing]{ override def absurd[X](a: Nothing): X = a }