fn handle_async_task(message ...) { case message { Increment(client) -> {
handle_cast(R=#message{type=increment}, S) -> work_module:increment(R, S); handle_cast(R=#message{type=decrement}, S) -> work_module:decrement(R, S).
I wonder why they decided to not permit that sort of thing. :(