This would take an AbstractCIGAR and return a new one of the same type where
- All
OP_P is removed
OP_H is replaced by OP_S
OP_Eq and OP_X is replaced by OP_M
- All consecutive ops of the same operation are collapsed
Note the order in which these ops happens is significant