The Rust API guidlines state that only smart pointers should implement these two traits but we are doing so. Is this correct? links: - https://rust-lang.github.io/api-guidelines/predictability.html#c-deref - https://doc.rust-lang.org/book/ch15-00-smart-pointers.html