as_ref
as_mut
we can't use the actual AsRef, AsMut trait because we aren't returning a reference but a new type with an inner reference.