FnOnce can be called, but might not be callable multiple
times. Because of this, if the only thing known about a type is that it
implements FnOnce, it can only be called once.
FnOnce is implemented automatically by closures that might consume captured
variables.