Hi,

## Since this is my first post, I want to thank everyone involved in the creation of the Julia language.

I would like to compare Operation/Expression objects, my initial goal being to replace sub-(Operation/Expression) by another one. I’m having issues understanding the behavior of ‘===’ operator on them :

```
using ModelingToolkit
@variables x t
@derivatives D'~t
julia> a=D(x)
derivative(x, t)
julia> b=a # Copy b to a
derivative(x, t)
julia> a==b # '==' operator builds a Symbolic Expression, does not compare Operations.
derivative(x, t) == derivative(x, t)
julia> a===b # Using '===' operator on a and b gives expected result
true
julia> D(x)===D(x) # This does NOT give the expected result
false
```