support visiting expressions