Build a basic code block.
        Positional arguments should be instances of CodeBlock or strings.
        All code blocks passed as positional arguments are added at indentation level 0.
        None blocks are skipped.

def block(self, *blocks, **kwargs) -> "CodeBlock":
        """
        Build a basic code block.
        Positional arguments should be instances of CodeBlock or strings.
        All code blocks passed as positional arguments are added at indentation level 0.
        None blocks are skipped.
        """
        assert "name" not in kwargs
        kwargs.setdefault("code", self)
        code = CodeBlock(**kwargs)
        for block in blocks:
            if block is not None:
                code._blocks.append((0, block))
        return code