If you try and create a recursive enum in Rust without using Box, you will get a compile time error saying that the enum can't be sized.
// This gives an error!
enum List {
Nil,
Cons(i32, List)
}
In order for the enum to have a defined size, the recursively contained value must be in...