If the Mono value actually *is* a primitive, but its conversion has failed with an exception, we should *not* fall through to subsequent *else* statements because the return value is NULL.