Expanded same-argument-guard

Expanded the same-argument-guard so that, while looking for an existing trace, it checks whether the number of operands used in this existing trace is the same as it is now (at the moment of guard-failure)