def get_id(self, version: int) -> str:
    assert (version >= 2)
    res = []
    res.append('I')
    for param in self.params:
        res.append(param.get_id(version))
    res.append('E')
    res.append('X')
    res.append(self.concept.get_id(version))
    res.append('I')
    for param in self.params:
        res.append(param.get_id_as_arg(version))
    res.append('E')
    res.append('E')
    return ''.join(res)
def get_id(self, version: int) -> str:
    assert (version >= 2)
    res = []
    res.append('I')
    for param in self.params:
        res.append(param.get_id(version))
    res.append('E')
    res.append('X')
    res.append(self.concept.get_id(version))
    res.append('I')
    for param in self.params:
        res.append(param.get_id_as_arg(version))
    res.append('E')
    res.append('E')
    return .join(res)