implicits.scala:21: error: type mismatch; found : Pos required: ?{val +: ?} Note that implicit conversions are not applicable because they are ambiguous: most specific definition is: method pos2int in object Super of type (Pos)int yet alternative definition method any2plus in object Sub of type (Any)Sub.Plus is defined in a subclass. Both definitions are possible conversion functions from Pos to ?{val +: ?} f(p+1) ^ one error found