{-| This function computes the list of variables occurring in a context. -}
variableList :: (HasVars f v, HTraversable f, HFunctor f, Ord v)
             => Cxt h f a :=> [v]
variableList = Set.toList . variables
variableList :: (HasVars f v, HTraversable f, HFunctor f, Ord v)
             => Cxt h f a :=> [v]
variableList = Set.toList . variables
variableList = Set.toList . variables