in gazebo/src/cell.rs [206:214]
fn as_aref(this: &Self) -> ARef<T>;
/// Try and get an [`ARef`] pointing at this type. Returns an [`Err`] if
/// the type `Self` is a [`RefCell`] which is already mutably borrowed.
fn try_as_aref(this: &Self) -> Result<ARef<T>, BorrowError>;
/// Return the underlying [`RefCell`] if `Self` is one, otherwise [`None`].
fn as_ref_cell(this: &Self) -> Option<&RefCell<T>>;
}
impl<T: ?Sized> AsARef<T> for T {