diff --git a/src/main/scala/inox/ast/TreeOps.scala b/src/main/scala/inox/ast/TreeOps.scala
index a5cc023e182ba59a47b59cec940d532ac0467811..973c25e22a566d0f5625bf2c1b9c352577be820e 100644
--- a/src/main/scala/inox/ast/TreeOps.scala
+++ b/src/main/scala/inox/ast/TreeOps.scala
@@ -19,7 +19,7 @@ trait TreeOps { self: Trees =>
     } = self.deconstructor
   }
 
-  lazy val TreeIdentity = new SelfTreeTransformer {
+  class TreeIdentity extends SelfTreeTransformer {
     override def transform(id: Identifier, tpe: s.Type): (Identifier, t.Type) = (id, tpe)
     override def transform(v: s.Variable): t.Variable = v
     override def transform(vd: s.ValDef): t.ValDef = vd
@@ -28,11 +28,15 @@ trait TreeOps { self: Trees =>
     override def transform(flag: s.Flag): t.Flag = flag
   }
 
-  lazy val SymbolIdentity = new SymbolTransformer {
+  lazy val TreeIdentity: SelfTransformer = new TreeIdentity
+
+  class SymbolIdentity extends SymbolTransformer {
     val transformer = TreeIdentity
     override def transform(syms: s.Symbols): t.Symbols = syms
   }
 
+  lazy val SymbolIdentity: SymbolTransformer { val transformer: SelfTransformer } = new SymbolIdentity
+
   trait TreeTraverser {
     def traverse(vd: ValDef): Unit = traverse(vd.tpe)
 
diff --git a/src/main/scala/inox/tip/Parser.scala b/src/main/scala/inox/tip/Parser.scala
index 613bdf879f3df6ee6f081478441ba731f98be77d..51024b61afa3fc728839ca9ead39a223691cfdc4 100644
--- a/src/main/scala/inox/tip/Parser.scala
+++ b/src/main/scala/inox/tip/Parser.scala
@@ -380,10 +380,7 @@ class Parser(file: File) {
     case SNumeral(n) =>
       IntegerLiteral(n)
 
-    // TODO: hexadecimal case
-    //case SHexadecimal(value) => BVLiteral()
-
-    case SBinary(bs) =>
+    case FixedSizeBitVectors.BitVectorLit(bs) =>
       BVLiteral(BitSet.empty ++ bs.reverse.zipWithIndex.collect { case (true, i) => i }, bs.size)
 
     case SDecimal(value) =>