The categorical dual of Traversable (Data.Distributive in Haskell). This is a structure that builds on Functor and is an expression of distributive laws (an arithmetic example is a(b + c) = ab + ac).