AC
Size: a a a
AC
GG
IG
A
UU
IG
IG
DF
AK
AG
trait Monad[A] {
def pure(block: => A): Monad[A]
def flatMap(f: A => Monad[B]): Monad[B]
}
x: Int, m: M[Int]
f,g: Int -> M[Int]
ML
AG
AG
VL
trait Monad[A] {
def pure(block: => A): Monad[A]
def flatMap(f: A => Monad[B]): Monad[B]
}
x: Int, m: M[Int]
f,g: Int -> M[Int]
A
AK
MB
AK
MB
MB