macro_rules! future {
($fut:expr) => { ... };
($fut:expr, label = $label:expr) => { ... };
($fut:expr, log = true) => { ... };
($fut:expr, label = $label:expr, log = true) => { ... };
($fut:expr, log = true, label = $label:expr) => { ... };
}