Sum impl Trait

This is an extension to allow multiple return types which implement the same trait.

Example


#![allow(unused)]
fn main() {
#[sum]
fn f( cond: bool ) -> impl Clone {
    if cond {
        #[variant] 1_i32
    } else {
        #[variant] "false"
    }
}
}