def METHOD_NAME(self, func: Callable[[Cell], Cell]) -> 'CompositeCell':
    return CompositeCell(
        height=self.height,
        # It is important that this is a generator instead of a list!
        # We must not list until after global operation counting.
        sub_cell_cols_generator=_iterator_to_iterable(
            [None if cell is None else func(cell) for cell in col]
            for col in self._sub_cell_cols_generator
        ),
        gate_count=self._gate_count,
    )