Haskell98 invariant functors (also known as exponential functors).