Внутри класса использую свитч сдежующего типа

Код AS3:
switch(true) {
case shift && n:
break;
case n:
break;
case cLock && shift:
break;
case cLock:
break;
case shift:
break;
default:
}
что там внутри выполняется не важно, но стоит одной из переменных shift, n или cLock стать отличным от Boolean(например var n:TextField) получаем ошибку с большим логом в output и полностью отсутстующим стеком при трассировке (без debug вообще весь Flash колом). Почему то приведение к нужному типу не срабатывает
Это что баг, или надо качать более свежий cs4?