Haskell 98 contravariant functors
