docs: def _get_array(self, handle: int) -> np.ndarray:
          """Returns the array with the given handle.
  
          Args:
            handle: The handle of the array whose memory should be freed. This
              handle must come from the _create_array method.
  
          Returns:
            The numpy ndarray with the handle given from _create_array.
          """
          tup = self._arrays[handle]
          assert tup is not None
          c_arr, shape = tup
          with warnings.catch_warnings():
              warnings.simplefilter('ignore', RuntimeWarning)
              result = np.ctypeslib.as_array(c_arr)
          result.shape = shape
          return result