Determine if Expression has any side effects.
the expression
whether function calls should always be assumed to be impure (e.g. debug is allowed to violate purity)
Determine if Expression has any side effects.