Help for this page
group = groupBy (==) ... | p x = (x:ys, zs) | otherwise = ([],xs) where (ys,zs) = span p xs'
sub group { map{ ... $a; } [], unpack 'C*', shift } }
print for group 'ZBBBCCZZ'; Z BBB CC ZZ