Back to Fpinscala

01.Answer

answerkey/iomonad/01.answer.md

latest188 B
Original Source
scala
given freeMonad[F[_]]: Monad[[x] =>> Free[F, x]] with
  def unit[A](a: => A) = Return(a)
  extension [A](fa: Free[F, A])
    def flatMap[B](f: A => Free[F, B]) = fa.flatMap(f)