Но ocaml, как мне кажется, лучше брать за основу для курса ФП(но я бы выбрал haskell) или для теории типов и пр. такого, чем для основ программирования.
Отчего же?
Хочешь императивщину: пожалуйста, циклы, ref'ы, структуры, массивы.
Хочешь ООП: пожалуйста, и immediate-объекты, и классы с множественным наследованием и т.п.