(
Size: a a a
(
M
(
АЕ
(
sealed class FanState {
object Off : FanState() { fun turnOn() = FanState.On }
object On : FanState() { fun turnOff() = FanState.Off }
}
(
AP
АЕ
(
(
throw IllegalStateException
, потому что там эмпирическая зависимость данных и гарантия, что при данном стейте данная мутация не может прийтиАЕ
AP
(
АЕ
(
(
(S, M) -> S
(
AS
АЕ
AD