**Description**
The `airflow.models.baseoperator.chain()` is a very useful and convenient way to add sequential task dependencies in DAGs.  This function has [recently been updated](https://github.com/apache/airflow/issues/16635) to support `BaseOperator` and `XComArgs` but should also be able to support `Labels` as well.

**Use case / motivation**
Users who create tasks via the `@task` decorator will not be able to use the `chain()` function to apply sequential dependencies that do not share an `XComArg` implicit dependency with a `Label`.  This use case can occur when attempting to chain multiple branch labels and the next sequential task.

With the new update (yet to be released), users will receive the following exception when attempting to chain an `XComArg` and `Label`:

```bash
TypeError: Chain not supported between instances of <class 'airflow.utils.edgemodifier.EdgeModifier'> and <class 'airflow.models.xcom_arg.XComArg'>
```


**Are you willing to submit a PR?**
Absolutely. 🚀 

**Related Issues**
None

airflow/models/baseoperator.py
from airflow.models.xcom_arg import XComArg
    from airflow.utils.task_group import TaskGroup
ScheduleInterval = Union[str, timedelta, relativedelta]
TaskStateChangeCallback = Callable[[Context], None]
T = TypeVar('T', bound=Callable)
class BaseOperatorMeta(abc.ABCMeta):
    """Metaclass of BaseOperator."""
    @classmethod
    def _apply_defaults(cls, func: T) -> T:
        """
        Function decorator that Looks for an argument named "default_args", and
        fills the unspecified arguments from it.
        Since python2.* isn't clear about which arguments are missing when
        calling a function, and that this can be quite confusing with multi-level
        inheritance and argument defaults, this decorator also alerts with
        specific information about the missing arguments.
        """
        
        
        
        
        sig_cache = signature(func)
        non_optional_args = {
            name
            for (name, param) in sig_cache.parameters.items()
            if param.default == param.empty
            and param.name != 'self'
            and param.kind not in (param.VAR_POSITIONAL, param.VAR_KEYWORD)
        }
        class autostacklevel_warn: