added canThrow() for Expression