Box è una struttura dati che ci permette di spostare i nostri dati dallo stack all'heap.
Dereferenziarlo ci permette di usare i dati allocati sull'heap in modo ergonomico, come se fossero il tipo originale.
Poiché Box è una struct di dimensione nota (dato che contiene solo un puntatore), viene spesso usato come modo per memorizzare un riferimento a qualcosa dentro una struct che deve conoscere la dimensione dei suoi campi.
Box è così comune che può essere usato da qualsiasi parte:
Box::new(Foo { ... })