Changed canExecute and canExecuteExp to use cast
further improve the compilation queue
wibbles
codegen wibbles
codegen comment