I was following the example of SNLI classifier from pytorch official examples and found the following two classes.
class Bottle(nn.Module):

    def forward(self, input):
        if len(input.size()) <= 2:
            return super(Bottle, self).forward(input)
        size = input.size()[:2]
        out = super(Bottle, self).forward(input.view(size[0]*size[1], -1))
        return out.view(*size, -1)


class Linear(Bottle, nn.Linear):
    pass

I am not understanding the flow of execution when I use the Linear class instance. How the class Linear is associated with the class Bottle? I can understand Linear class inherits nn.Linear but what is the purpose of the first parameter in the class declaration - class Linear(Bottle, nn.Linear) ?
Can anyone share your insight?