Mono was complaining about not knowing the type of the trinary.

The Microsoft compiler should optomize this cast away