'Return the concatenation of ``self`` with all the arguments (in
linear time complexity).'

def concat(self, *args):

    ids = list(self._ids)
    for arg in args:
        if (not (isinstance(arg, BaseModel) and (arg._name == self._name))):
            raise TypeError(('Mixing    apples    and    oranges:    %s.concat(%s)' % (self, arg)))
        ids.extend(arg._ids)
    return self.browse(ids)
