pub fn handle(state, message) { if message.op == "send" { (state + 1, [(message.target, #{op: "add", value: message.value})]) } else if message.op == "add" { (state + message.value, []) } else { panic("unknown counter operation") } }