**Description**
The `airflow.models.baseoperator.chain()` is a very useful and convenient way to add sequential task dependencies in DAGs but the function only supports tasks of a `BaseOperator` type.

**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.

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

**Related Issues**
None

airflow/models/baseoperator.py
self,
        start_date: Optional[datetime] = None,
        end_date: Optional[datetime] = None,
        ignore_first_depends_on_past: bool = True,
        ignore_ti_state: bool = False,
        mark_success: bool = False,
    ) -> None:
        """Run a set of task instances for a date range."""
        start_date = start_date or self.start_date
        end_date = end_date or self.end_date or timezone.utcnow()
        for execution_date in self.dag.get_run_dates(start_date, end_date, align=False):
            TaskInstance(self, execution_date).run(
                mark_success=mark_success,
                ignore_depends_on_past=(execution_date == start_date and ignore_first_depends_on_past),
                ignore_ti_state=ignore_ti_state,
            )
    def dry_run(self) -> None: