This crate provides the unite! macro to easily compose existing types into an enum.
unite!
[dependencies] unite = "0.1"
use unite::unite; struct A; struct B; unite! { enum Any { A, B, C = i32 } }