Functor package:rank2classes

Equivalent of Functor for rank 2 data types, satisfying the usual functor laws
id <$> g == g
(p . q) <$> g == p <$> (q <$> g)