It would be really amazing if in the following snippet, the "move" was inferred by the fact that the closure is passed as a Fn* + Send. Aka, that move was inferred by the Send trait.
fn stuff<F: FnOnce() + Send>(f: F) {
}
pub fn main() {
stuff(move |:| println!("hello"));
}