Поможет ли функциональный ЯП (например, Haskell) лучше понять ООП (С++)? Если да, то чем конкретно он поможет?
================================================================================================================

 Оправдает ли себя потраченное время на знакомство с ФЯП? 

 ФП - очень крутая парадигма. В теории, может помочь понять ООП, через взгляд со стороны, но не факт.  

Знание в принципе полезное и оправдывает затраченное время.  

Но я бы посоветовал взять какой-нибудь более простой язык, чем хаскель - например F# (тем более он объединяет ООП с ФП).  

Или раст - он тоже имеет черты обоих парадигм, но с ним тоже есть свои нюансы.  

Хотя если хочется совсем мозг сломать - берите Idris и погружайтесь в доказательное программирование. 

 Нет. Скорее помешает.  

  

Это принципиально разные парадигмы. В функциональной парадигме основа - чистые функции, никакого стейта. ООП основано на внутреннем состоянии классов, которое постоянно меняется. 

 Знакомство вообще не помогает. Помогает - использование.  

Вам есть, где применить Хаскель? Если нет - не тратьте время впустую.  

Лучше всего понять ООП, особенно в С++, помогает работа в С++ с использованием ООП. 

 Нет, не поможет. Понять ООП поможет постоянная работа с этим самым ООП и чтение литературы. Советую с нуля попробовать собрать свое приложение без использования фреймворков и библиотек, и при этом стараться следовать best practices для выбранного ЯП. Приложение можно и не дописывать, но когда сами начнете ковыряться с понятиями и их применением для правильной компоновки компонентов приложения, к Вам будет приходить более полное понимание каждого отдельного пункта определения ООП :)