Существует оператор |+| для любого класса A с неявным Semigroup[A] в области видимости. Для Int|+| по умолчанию используется + (вы можете переопределить его в своем коде).
Существует неявный Semigroup[(A, B)] для всех кортежей, если существует неявный Semigroup для A и B.