-- groupCut - Similar to groupBy, but where groupBy assumes an equivalence relation,
-- groupCut takes a function that indicates where to cut. The two parameters to this
-- function are always adjacent items from the list, and if the function returns True,
-- a cut is done between the two items.