variables :: (Ord v, HasVars f v, HTraversable f, HFunctor f)
            => Cxt h f a :=> Set v
variables = unK . free variablesAlg (const $ K Set.empty)
variables :: (Ord v, HasVars f v, HTraversable f, HFunctor f)
            => Cxt h f a :=> Set v
variables = unK . free variablesAlg (const $ K Set.empty)
variables = unK . free variablesAlg (const $ K Set.empty)