Extract Semigroups and Folds