diff --git a/src/main/scala/leon/purescala/Constructors.scala b/src/main/scala/leon/purescala/Constructors.scala index 2f7092fce91106394a7ccd0c4cc61a78df218a94..9ec719e256a25a786421acbfa359a7eb7ca11799 100644 --- a/src/main/scala/leon/purescala/Constructors.scala +++ b/src/main/scala/leon/purescala/Constructors.scala @@ -23,7 +23,7 @@ object Constructors { case Nil => body case x :: Nil => - if (value.getType == x.getType || !value.getType.isInstanceOf[TupleType]) { + if (isSubtypeOf(value.getType, x.getType) || !value.getType.isInstanceOf[TupleType]) { // This is for cases where we build it like: letTuple(List(x), tupleWrap(List(z))) Let(x, value, body) } else {