@abcdw The #Haskell syntax is easy, that is for sure.
Functors, Applicatives, and #Monads are best learned by example, in my opinion. When I first learned about them, they were so simple that I thought I was missing something. Knowing their definition (which is very simple) doesn't help one understand how it relates to modeling computational procedures until one actually sees examples of how these concepts are used for that purpose.
@ramin_hal9001 I definitely have some questions to Haskell syntax :)
From practical point of view monads looks quite approachable, but it's interesting to grasp stuff behind them.