diff --git a/core/src/main/scala/cats/data/ContT.scala b/core/src/main/scala/cats/data/ContT.scala index 9476dfd990..6aa0dd91ac 100644 --- a/core/src/main/scala/cats/data/ContT.scala +++ b/core/src/main/scala/cats/data/ContT.scala @@ -96,8 +96,10 @@ object ContT { * } * }}} */ - def defer[M[_], A, B](b: => B)(implicit M: Defer[ContT[M, A, ?]]): ContT[M, A, B] = - M.defer(pure(b)) + def defer[M[_], A, B](b: => B): ContT[M, A, B] = + apply { cb => + cb(b) + } /** * Build a computation that makes use of a callback, also known as a continuation.