<> [3,4] [3,4] > [1,2] <> [3,4] [1,2,3,4] > mempty <> mempty::[Int] [] > fold (mempty::[[Int]]) [] > fold [[1,2],[3,4,5],[6]] [1,2,3,4,5,6] > foldMap tail [[1,2],[3,4,5],[6]] [2,4,5] > val empty = Monoid[List[Int]].empty val empty: List[Int] = List() > List(1,2) |+| empty val res1: List[Int] = List(1, 2) > empty |+| List(3,4) val res2: List[Int] = List(3, 4) > List(1,2) |+| List(3,4) val res3: List[Int] = List(1, 2, 3, 4) > empty |+| empty val res4: List[Int] = List() > List.empty[List[Int]].combineAll val res5: List[Int] = List() > List(List(1,2),List(3,4,5),List(6)).combineAll val res6: List[Int] = List (1, 2, 3, 4, 5, 6) > List(List(1,2),List(3,4,5),List(6)).foldMap(_.tail) val res7: List[Int] = List(2, 4, 5) > import cats.implicits.* > import cats.syntax.* > import cats.Monoid