diff --git a/src/main/scala/inox/datagen/GrammarDataGen.scala b/src/main/scala/inox/datagen/GrammarDataGen.scala
index 49341f8578bfb75829e5fb154eeb9c19104f137c..0318f76ebfb2e7b8d531a932af095c8f4aefd313 100644
--- a/src/main/scala/inox/datagen/GrammarDataGen.scala
+++ b/src/main/scala/inox/datagen/GrammarDataGen.scala
@@ -13,9 +13,13 @@ import grammars._
 /** Utility functions to generate values of a given type.
   * In fact, it could be used to generate *terms* of a given type,
   * e.g. by passing trees representing variables for the "bounds". */
-trait GrammarDataGen extends DataGenerator {
-  val evaluator: DeterministicEvaluator { val program: GrammarDataGen.program.type }
-  val grammar: ExpressionGrammar = ValueGrammar
+trait GrammarDataGen extends DataGenerator with GrammarsUniverse { self =>
+  val evaluator: DeterministicEvaluator { val program: self.program.type }
+  val grammar: ExpressionGrammar
+
+  import program._
+  import program.trees._
+  import program.symbols._
 
   // Assume e contains generic values with index 0.
   // Return a series of expressions with all normalized combinations of generic values.