diff --git a/src/Data/Abstract/Evaluatable.hs b/src/Data/Abstract/Evaluatable.hs index 613213577..70d8a7358 100644 --- a/src/Data/Abstract/Evaluatable.hs +++ b/src/Data/Abstract/Evaluatable.hs @@ -78,14 +78,13 @@ class Monad m => MonadAnalysis term value m where evaluateTerm :: ( AbstractValue value , FreeVariables term , MonadAddressable (LocationFor value) value m - , MonadFunction term value m , Ord (LocationFor value) , Semigroup (Cell (LocationFor value) value) ) => term -> m value -instance (Recursive t, Evaluatable (Base t)) => MonadAnalysis t v (Evaluator es t v) where +instance (Recursive t, Evaluatable (Base t), MonadFunction t v (Evaluator es t v)) => MonadAnalysis t v (Evaluator es t v) where evaluateTerm = foldSubterms eval -- FIXME: this should live in Control.Abstract.Function once it doesn’t need to reference Evaluatable.