.
Size: a a a
.
w
KS
IA
trait Consumer{
type A
def consume(a: A)
}
val a: A = getA
val b: B = getB
val c: C = getC
val thing = createThing(a,b,c)
val consumers = Seq(cons1, cons2, cons3)
consumers.map(cons => cons.consume(thing.get[cons.A])) //и тут каждый консюмер получает шо хочет
KS
ΛВ
ΛВ
IA
R
R
KS
IA
KC
KS
ΛВ
w
ᛒ
IA