Set of downcasting matching macros akin to what Scala's match or Haskell's case can do. Useful in actor models etc. ```rust let a = Box::new(5_i32) as Box; let b = match_downcast!(a, { x: i32 => x y: f32 => x as i32, z: () => -1, _ => panic!() }); assert_eq!(b, 5); ```