I think the ternary operator should compile to ``$expr1 ?: $expr3`` rather than ``$expr1 ? $expr1 : $expr3`` in this case to let PHP optimize the evalutation (not sure it does such optimization currently, but it seems sane to assume it could at least)