Payload: Functor, Foldable, Traversable instances
Extract Unify into its own module