crappy optimise on romans
working optimise with Data.List.Group