How to define a functor fixpoint?
Coq proof that the Selection monad is an applicative and a monad
What are functors, and why do we need them?
c++ how to call outer class's function from a functor?
Deriving from std::function vs creating a functor manually