-- | Checks wether a given term is a start term.
isStartTerm :: Ord f => StartTerms f -> R.Term f v -> Bool
isStartTerm (AllTerms fs) t = case t of
  (R.Var _)   -> True
  (R.Fun f _) -> f `S.member` fs
isStartTerm :: Ord f => StartTerms f -> R.Term f v -> Bool
isStartTerm (AllTerms fs) t = case t of
  (R.Var _)   -> True
  (R.Fun f _) -> f `S.member` fs
isStartTerm (AllTerms fs) t = case t of
  (R.Var _)   -> True
  (R.Fun f _) -> f `S.member` fs