added support for determining expr and const types