こういうのがエラーになるんだが、なんで?
エラーメッセージは Sized が満たされてないとか出るんだけど
dyn とか Box ってこういう使い方をするもんじゃないの?

let mut foo = Box::<dyn Fn() -> usize>::new(|| 1);
foo = Box::<dyn Fn() -> usize>::new(|| 2);