Because the constructors of Value return Arc<Value>, it is impossible to derive From implementations in a straightforward way.
impl From<u8> for Arc<Value> {
| ^^^^^--------^^^^^----------
| | | |
| | | `Arc` is not defined in the current crate
| | `u8` is not defined in the current crate
| impl doesn't use only types from inside the current crate