throw when constant expressions that are not IFn are used in call position