In scala specification, there is some description about the variance and lower bound:
The variance position of the lower bound of a type declaration or type parameter is the opposite of the variance position of the type declaration or parameter.
Which is on page 44.
I can get some idea but I can't explain it clearly. Could you give me some detail explanation on it?