## Interface ```scala trait Semigroup[A] { def combine(x: A, y: A): A } ``` ## Properties - Associativity