# `handler_map` *like `AnyMap`, but with functions instead of values* This crate began with an idle thought: *"Crates like `AnyMap` let you store one value of each type. What would it take to instead store a function that took that type, like a message handler?"* What came out was this. The basic idea is that you start with a message type, and a function that receives it by-value: ```rust struct MyMessage; fn handle_msg(_: MyMessage) { println!("Got your message!"); } ``` Then, take one of these `HandlerMap`s, and hand it the handler: ```rust let mut map = HandlerMap::new(); map.insert(handle_msg); ``` This registers that type in the handler so you can call it later: ```rust map.call(MyMessage); // console prints "Got your message!" ```