package Ġorg . avm team . udf Ċ Ċ import Ġkotlin . reflect . K Class Ċ Ċ interface ĠSide Effect < Action Ġ: ĠAny , ĠSide Action Ġ: ĠAny > Ġ{ ĊĊĠĠĠ Ġfun Ġaction Id (): ĠK Class < Action > Ġ= Ġthrow ĠIllegalStateException (" action Id Ġmust Ġbe Ġspecified !") ĊĊĠĠĠ Ġsuspend Ġfun Ġexecute ( action : ĠAction , Ġreducer Callback : Ġsuspend Ġ( Side Action ) Ġ-> ĠUnit ) Ċ } Ċ