def add_tier(self, coro, **kwargs):
        """ Add a coroutine to the cell as a task tier.  The source can be a
        single value or a list of either `Tier` types or coroutine functions
        already added to a `Tier` via `add_tier`. """
        self.assertNotFinalized()
        assert asyncio.iscoroutinefunction(coro)
        tier = self.Tier(self, coro, **kwargs)
        self.tiers.append(tier)
        self.tiers_coro_map[coro] = tier
        return tier