added stuff for monoids reduction. Type checking problem with version 9.9.10 (Zero // the c Zero)