В
Size: a a a
В
В
В
В
Oℕ
Oℕ
YE
В
Oℕ
Oℕ
Oℕ
Oℕ
Oℕ
Oℕ
Oℕ
sealed trait Foo
case class Bar(x: Int, left: Foo, right: Foo) extends Foo
case object Baz extends Foo
trait FooP[-A, +B]{
def bar(x: Int, left: A, right: A): B
def baz: B
}
type Foo = Layer[FooP]
Oℕ
Oℕ
Oℕ