Scalaz 7 - why using type alias results in ambigous typeclass resolution for Reader
问题 Code to test with: import scalaz.{Reader, Applicative} class ReaderInstanceTest { type IntReader[A] = Reader[Int, A] val a = Applicative[({type l[A] = Reader[Int, A]})#l] // fine val b = Applicative[IntReader] // ^ ambigous implicit values // both method kleisliMonadReader .. // and method kleisliIdMonadReader .. } Is this related to Scala's higher-order unification for type constructor inference ticket? If so (and even if not), could you describe what happens here in the a and b cases? Do