diff --git a/src/main/scala/leon/purescala/Trees.scala b/src/main/scala/leon/purescala/Trees.scala
index 8cb92d293b920d20bf61735451c35f5054824bd3..60d9155354019590d197ba069141c6250a3770b6 100644
--- a/src/main/scala/leon/purescala/Trees.scala
+++ b/src/main/scala/leon/purescala/Trees.scala
@@ -230,7 +230,7 @@ object Trees {
 
   case class TuplePattern(binder: Option[Identifier], subPatterns: Seq[Pattern]) extends Pattern
 
-  case class LiteralPattern[T](binder: Option[Identifier], lit : Literal[T]) extends Pattern {
+  case class LiteralPattern[+T](binder: Option[Identifier], lit : Literal[T]) extends Pattern {
     val subPatterns = Seq()    
   }
 
@@ -431,7 +431,7 @@ object Trees {
   }
 
   /* Literals */
-  sealed abstract class Literal[T] extends Expr with Terminal {
+  sealed abstract class Literal[+T] extends Expr with Terminal {
     val value: T
   }