I've heard contravariant functors referred to as "cofunctors", and I've also heard objections to that term. As I'm preparing to release some libraries using contravariant functors, I'd appreciate hearing preferences and/or reasons. For instance, another name would be "Contrafunctor".
-- | Contravariant functors. often useful for /acceptors/ (consumers,
-- sinks) of values.
class Cofunctor acc where
cofmap :: (a -> b) -> (acc b -> acc a)
Thanks, - Conal