In category theory, a functor F is an operator on types. F is also considered to be a polymorphic
operator on functions with the type
F : (a -> b) -> (F a -> F b).
Functors are a generalisation of the function "map
". The type operator in this case takes a type T and returns type "list of T". The map function takes a function and applies it to each element of a list.