diff --git a/core/src/main/scala/cats/data/Kleisli.scala b/core/src/main/scala/cats/data/Kleisli.scala index b7fd644cd8..c9f5fd35d0 100644 --- a/core/src/main/scala/cats/data/Kleisli.scala +++ b/core/src/main/scala/cats/data/Kleisli.scala @@ -114,7 +114,7 @@ final case class Kleisli[F[_], -A, B](run: A => F[B]) { self => def tapWithF[C, AA <: A](f: (AA, B) => F[C])(implicit F: FlatMap[F]): Kleisli[F, AA, C] = Kleisli(a => F.flatMap(run(a))(b => f(a, b))) - def toReader[AA <: A]: Reader[AA, F[B]] = Kleisli[Id, AA, F[B]](run) + def toReader: Reader[A, F[B]] = Kleisli[Id, A, F[B]](run) def apply(a: A): F[B] = run(a) } diff --git a/core/src/main/scala/cats/data/package.scala b/core/src/main/scala/cats/data/package.scala index 1621bcd6bf..26ffddc0db 100644 --- a/core/src/main/scala/cats/data/package.scala +++ b/core/src/main/scala/cats/data/package.scala @@ -30,10 +30,10 @@ package object data { type NonEmptyChain[+A] = NonEmptyChainImpl.Type[A] val NonEmptyChain = NonEmptyChainImpl - type ReaderT[F[_], A, B] = Kleisli[F, A, B] + type ReaderT[F[_], -A, B] = Kleisli[F, A, B] val ReaderT = Kleisli - type Reader[A, B] = ReaderT[Id, A, B] + type Reader[-A, B] = ReaderT[Id, A, B] object Reader { def apply[A, B](f: A => B): Reader[A, B] = ReaderT[Id, A, B](f)