np.asarray is also using the reference, if no copy is needed.
From the docs:

Array interpretation of a . No copy is performed if the input is already an ndarray with matching dtype and order. If a is a subclass of ndarray, a base class ndarray is returned.