Sir, 
What do you think about the comments I wrote below?? If you see this comment on main page look at this line https://github.com/idlike2dream/prime/pull/1/files#L2R504. How should I implement equality?? I can go by default equality of case class but I think we also want `x*y == y*x` But on the other side, If I try to drop reduce the set equality may not be valid. Even now the equality definition is not concrete because I am not reducing the expression until it becomes irreducible.