def METHOD_NAME(obj: VariableLikeType, /) -> VariableLikeType:
    """Return a new object with the same dims, shape, unit,
    and dtype as the input and all elements uninitialized.
    If the input has variances, all variances in the output exist but are uninitialized.
    If the input is a :class:`DataArray`, coordinates and attributes are shallow-copied
    and masks are deep-copied.
    Warning
    -------
    Reading from any elements before writing to them produces undefined results.
    Parameters
    ----------
    obj: scipp.Variable or scipp.DataArray
        Input object defining dims, shape, unit, and dtype of the output
    Returns
    -------
    : Same type as input
        New object with uninitialized values and maybe variances.
    See Also
    --------
    scipp.empty:
        Create an uninitialized object based on given dims and shape.
    scipp.zeros_like:
        Create an object initialized with zeros.
    scipp.ones_like:
        Create an object initialized with ones.
    scipp.full_like:
        Create an object filled with a given value.
    """
    new_values = empty(
        dims=obj.dims,
        shape=obj.shape,
        unit=obj.unit,
        dtype=obj.dtype,
        with_variances=obj.variances is not None,
    )
    return rewrap_output_data(obj, new_values)