Haskell 98 Distributive functors -- Dual to Traversable