def conditional_generic
import bendvy-ecs-core@0.1.0.3/machine_queue.bend as MachineQueueimport Base
import bendvy-ecs-core@0.1.0.3/machine.bend as M
20def conditional_generic(-S:Data,-K:Data,-V:Data,same:V -> V -> Bool,slot:M.Slot<S,K,V>,value:V) -> M.Slot<S,K,V>:
21 match slot:
22 case M.Missing{}:M.Missing{}
23 case M.Present{current,pending,previous,changed}:M.Present{current,conditional_pending_generic(V,same,pending,value),previous,changed}