- | C.MutConstruct (u1, _, _, _), C.MutConstruct (u2, _, _, _) ->
- compare_uris u1 u2
+ | C.MutConstruct (u1, tno1, cno1, _), C.MutConstruct (u2, tno2, cno2, _) ->
+ let res = compare_uris u1 u2 in
+ if res <> Eq then res
+ else
+ let res = compare (tno1,cno1) (tno2,cno2) in
+ if res = 0 then Eq else if res < 0 then Lt else Gt