Вы точно речь ведёте про компилятор, потому что это всего лишь консольная программа преобразующая исходный код в объектный файл. И какая разница на чём он работает?
Zefirot, Что-то я не смог найти этот текст, откуда вы его взяли? Ну и о какой рефлексии и динамической типизации идёт речь в нашем случае я не понял. Т.е. вы услышали знакомое слово LINQ и сразу вынесли решение не разбираясь в вопросе.
Zefirot, Не слыхал о такой проблемы. Но вы всегда можете реализовать свой велосипед, например ища среди элементов то, чьё значение максимальное, но не больше предыдущего максимального.