Replace Monoid requirement by SemiGroup for Apply instance of Const