def describe_signature(self, signode: TextElement, mode: str, env: 'BuildEnvironment', symbol: 'Symbol') -> None:
    verify_description_mode(mode)
    numChildren = len(signode)
    self.leftSpecs.describe_signature(signode)
    addSpace = (len(signode) != numChildren)
    if self.trailingTypeSpec:
        if addSpace:
            signode += nodes.Text(' ')
        numChildren = len(signode)
        self.trailingTypeSpec.describe_signature(signode, mode, env, symbol=symbol)
        addSpace = (len(signode) != numChildren)
        if (len(str(self.rightSpecs)) > 0):
            if addSpace:
                signode += nodes.Text(' ')
            self.rightSpecs.describe_signature(signode)
def describe_signature(self, signode: TextElement, mode: str, env: 'BuildEnvironment', symbol: 'Symbol') -> None:
    verify_description_mode(mode)
    numChildren = len(signode)
    self.leftSpecs.describe_signature(signode)
    addSpace = (len(signode) != numChildren)
    if self.trailingTypeSpec:
        if addSpace:
            signode += nodes.Text(' ')
        numChildren = len(signode)
        self.trailingTypeSpec.describe_signature(signode, mode, env, symbol=symbol)
        addSpace = (len(signode) != numChildren)
        if (len(str(self.rightSpecs)) > 0):
            if addSpace:
                signode += nodes.Text(' ')
            self.rightSpecs.describe_signature(signode)