diff --git a/src/main/scala/leon/evaluators/RecursiveEvaluator.scala b/src/main/scala/leon/evaluators/RecursiveEvaluator.scala
index 925ad6313cef45f5f40953de4904864b471ad8fe..e1de9e64c26b540869648f849008808ea6dcad0b 100644
--- a/src/main/scala/leon/evaluators/RecursiveEvaluator.scala
+++ b/src/main/scala/leon/evaluators/RecursiveEvaluator.scala
@@ -11,7 +11,6 @@ import purescala.Types._
 import purescala.Constructors._
 import purescala.Extractors._
 
-import xlang.Expressions._
 import solvers.SolverFactory
 import synthesis.ConvertHoles.convertHoles
 
@@ -437,7 +436,7 @@ abstract class RecursiveEvaluator(ctx: LeonContext, prog: Program, maxSteps: Int
       replaceFromIDs(mapping, l)
 
     case ArrayLength(a) =>
-      var FiniteArray(elems, default, IntLiteral(length)) = e(a)
+      val FiniteArray(_, _, IntLiteral(length)) = e(a)
       IntLiteral(length)
 
     case ArrayUpdated(a, i, v) =>
@@ -452,7 +451,7 @@ abstract class RecursiveEvaluator(ctx: LeonContext, prog: Program, maxSteps: Int
 
     case ArraySelect(a, i) =>
       val IntLiteral(index) = e(i)
-      val FiniteArray(elems, default, length) = e(a)
+      val FiniteArray(elems, default, _) = e(a)
       try {
         elems.get(index).orElse(default).get
       } catch {
@@ -504,7 +503,6 @@ abstract class RecursiveEvaluator(ctx: LeonContext, prog: Program, maxSteps: Int
       e(impl)
 
     case choose @ Choose(_, None) =>
-      import purescala.ExprOps.simplestValue
 
       implicit val debugSection = utils.DebugSectionSynthesis
 
@@ -514,9 +512,7 @@ abstract class RecursiveEvaluator(ctx: LeonContext, prog: Program, maxSteps: Int
 
       val ins = p.as.map(rctx.mappings(_))
 
-      if (clpCache contains (choose, ins)) {
-        clpCache((choose, ins))
-      } else {
+      clpCache.getOrElse((choose, ins), {
         val tStart = System.currentTimeMillis
 
         val solver = SolverFactory.getFromSettings(ctx, program).getNewSolver()
@@ -553,7 +549,7 @@ abstract class RecursiveEvaluator(ctx: LeonContext, prog: Program, maxSteps: Int
         } finally {
           solver.free()
         }
-      }
+      })
 
     case MatchExpr(scrut, cases) =>
       val rscrut = e(scrut)
diff --git a/src/main/scala/leon/evaluators/TracingEvaluator.scala b/src/main/scala/leon/evaluators/TracingEvaluator.scala
index 9d1dbc28c42f36c6a982dfd67fac4686585a6155..b6bb072f0c9b14f329b92d45aea9212d09320d02 100644
--- a/src/main/scala/leon/evaluators/TracingEvaluator.scala
+++ b/src/main/scala/leon/evaluators/TracingEvaluator.scala
@@ -5,9 +5,7 @@ package evaluators
 
 import purescala.Common._
 import purescala.Expressions._
-import purescala.Extractors._
 import purescala.Definitions._
-import purescala.ExprOps._
 import purescala.Types._
 
 class TracingEvaluator(ctx: LeonContext, prog: Program, maxSteps: Int = 1000) extends RecursiveEvaluator(ctx, prog, maxSteps) {
diff --git a/src/main/scala/leon/frontends/scalac/CodeExtraction.scala b/src/main/scala/leon/frontends/scalac/CodeExtraction.scala
index e8771c17a00d6a83daa96776fdceebd13b910e53..408cdfe167df64eae4f30d0b411b25b57d740dba 100644
--- a/src/main/scala/leon/frontends/scalac/CodeExtraction.scala
+++ b/src/main/scala/leon/frontends/scalac/CodeExtraction.scala
@@ -3,9 +3,7 @@
 package leon
 package frontends.scalac
 
-import scala.tools.nsc._
 import scala.reflect.internal.util._
-import scala.tools.nsc.plugins._
 
 import scala.language.implicitConversions
 
@@ -37,7 +35,6 @@ trait CodeExtraction extends ASTExtractors {
   import global.definitions._
   import StructuralExtractors._
   import ExpressionExtractors._
-  import ExtractorHelpers._
   import scala.collection.immutable.Set
 
   val reporter = self.ctx.reporter
@@ -1145,7 +1142,6 @@ trait CodeExtraction extends ASTExtractors {
 
         case ExTuple(tpes, exprs) =>
           val tupleExprs = exprs.map(e => extractTree(e))
-          val tupleType = TupleType(tupleExprs.map(expr => expr.getType))
           Tuple(tupleExprs)
 
         case ExErrorExpression(str, tpt) =>
@@ -1349,8 +1345,6 @@ trait CodeExtraction extends ASTExtractors {
           }
 
         case hole @ ExHoleExpression(tpt, exprs) =>
-          val leonExprs = exprs.map(extractTree)
-
           Hole(extractType(tpt), exprs.map(extractTree))
 
         case ops @ ExWithOracleExpression(oracles, body) =>