pub trait Val<T> { // Required method fn val(self) -> T; }
trait for unifying primitives and their references
gets the value