### Motivation If a Closure accepts `&` by argument it can use the faster stack-allocation rather than the slower heap-allocation. Basically, this should be possible: ```rust let f = move |e: &Foo| { ... }; let x = Closure::wrap(Box::new(f) as Box<FnMut(&Foo)>); ``` ### Additional Context https://github.com/rustwasm/gloo/issues/30#issuecomment-475866803