On building intuitions on monads and functors: https://www.jerf.org/iri/post/2958
(Also, TIL that the function type is a functor in Haskell!)
miniblog.
Related Posts
Interesting discussion contrasting OCaml functors with Java interfaces: https://www.reddit.com/r/ocaml/comments/2gjcos/help_explaining_benefits_of_modules_and_functors
You can abstract over more things with functors, and they have some cool examples. Quaternions!
I also learnt that type checking modules is undecidable in general in OCaml.