pack as  =   (takeWhile (==(head as)) as):pack (dropWhile (==(head as)) as)
pack as  =   (takeWhile (==(head as)) as):pack (dropWhile (==(head as)) as)
pack as  =   (takeWhile (==(head as)) as):pack (dropWhile (==(head as)) as)