diff --git a/src/funcheck/CodeExtraction.scala b/src/funcheck/CodeExtraction.scala
index 66c7d98444a0b23476098bd98c5c6bd72cb390b3..1cfa5229cb180d7ba3ee627ef229c54098f8d1ba 100644
--- a/src/funcheck/CodeExtraction.scala
+++ b/src/funcheck/CodeExtraction.scala
@@ -357,6 +357,7 @@ trait CodeExtraction extends Extractors {
       }
       case ExInt32Literal(v) => IntLiteral(v).setType(Int32Type)
       case ExBooleanLiteral(v) => BooleanLiteral(v).setType(BooleanType)
+      case ExTyped(e,tpt) => rec(e)
       case ExIdentifier(sym,tpt) => varSubsts.get(sym) match {
         case Some(fun) => fun()
         case None => {
diff --git a/src/funcheck/Extractors.scala b/src/funcheck/Extractors.scala
index f833efd3b4af95476862e2eaeb210b0b6b5adf48..c1266088d59fb714812461049e21f0fab9feb0c2 100644
--- a/src/funcheck/Extractors.scala
+++ b/src/funcheck/Extractors.scala
@@ -199,6 +199,13 @@ trait Extractors {
       }
     }
 
+    object ExTyped {
+      def unapply(tree : Typed): Option[(Tree,Tree)] = tree match {
+        case Typed(e,t) => Some((e,t))
+        case _ => None
+      }
+    }
+
     object ExIntIdentifier {
       def unapply(tree: Ident): Option[String] = tree match {
         case i: Ident if i.symbol.tpe == IntClass.tpe => Some(i.symbol.name.toString)