diff --git a/library/lang/Map.scala b/library/lang/Map.scala
index 289ca7ad4173015e646aa851e62b5642927dbff2..bd186b721d7d7d62a194366fceedabd55b04986d 100644
--- a/library/lang/Map.scala
+++ b/library/lang/Map.scala
@@ -12,7 +12,7 @@ object Map {
 }
 
 @ignore
-class Map[A, B](val theMap: scala.collection.immutable.Map[A,B]) {
+case class Map[A, B](val theMap: scala.collection.immutable.Map[A,B]) {
   def apply(k: A): B = theMap.apply(k)
   def ++(b: Map[A, B]): Map[A,B] = new Map (theMap ++ b.theMap)
   def updated(k: A, v: B): Map[A,B] = new Map(theMap.updated(k, v))
diff --git a/library/lang/Set.scala b/library/lang/Set.scala
index af27ec7ae1c60dd49a903bb94c47cb7541de290b..36c70a8372dd7a81d1737dfd321e81839d38fe6f 100644
--- a/library/lang/Set.scala
+++ b/library/lang/Set.scala
@@ -12,7 +12,7 @@ object Set {
 }
 
 @ignore
-class Set[T](val theSet: scala.collection.immutable.Set[T]) {
+case class Set[T](val theSet: scala.collection.immutable.Set[T]) {
    def +(a: T): Set[T] = new Set[T](theSet + a)
    def ++(a: Set[T]): Set[T] = new Set[T](theSet ++ a.theSet)
    def -(a: T): Set[T] = new Set[T](theSet - a)