Added more oclAsSet() migration tests.

Change-Id: I3477e36e698cb8f94a813a99f923aab46f9e6b0c
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/generated/testOrderedSet b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/generated/testOrderedSet
index 1b2db78..a977609 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/generated/testOrderedSet
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/generated/testOrderedSet
@@ -361,4 +361,9 @@
 @Test integers -> endsWith(OrderedSet{1, 1}) => false
 @Test integers -> endsWith(OrderedSet{2, 3}) => true
 @Test integers -> endsWith(OrderedSet{1, 1}) => false
+@Test strings.oclAsSet() => abc
+@Test integers.oclAsSet() => 123
+@Test reals.oclAsSet() => 1.22.13.2
+@Test booleans.oclAsSet() => truefalse
+@Test eClasses.oclAsSet() -> collect(name) => ClasseAClasseBAbstractClass
 @Test collections.oclAsSet() => abcefg
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/orderedSetsServices.mtl b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/orderedSetsServices.mtl
index 385144d..4930f7f 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/orderedSetsServices.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/orderedSetsServices/orderedSetsServices.mtl
@@ -406,6 +406,11 @@
 [comment]A4-UNSUPPORTED drop[/comment]
 [comment]A4-UNSUPPORTED lastIndexOf[/comment]
 [comment]A4-UNSUPPORTED lastIndexOfSlice[/comment]
+@Test strings.oclAsSet() => [strings.oclAsSet()/]
+@Test integers.oclAsSet() => [integers.oclAsSet()/]
+@Test reals.oclAsSet() => [reals.oclAsSet()/]
+@Test booleans.oclAsSet() => [booleans.oclAsSet()/]
+@Test eClasses.oclAsSet() -> collect(name) => [eClasses.oclAsSet() -> collect(name)/]
 @Test collections.oclAsSet() => [collections.oclAsSet()/]
 [comment]A4-UNSUPPORTED min[/comment]
 [comment]A4-UNSUPPORTED max[/comment]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/generated/testSequence b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/generated/testSequence
index a7d66c8..156e525 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/generated/testSequence
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/generated/testSequence
@@ -363,3 +363,9 @@
 @Test integers -> endsWith(OrderedSet{1, 1}) => false
 @Test integers -> endsWith(OrderedSet{2, 3}) => true
 @Test integers -> endsWith(OrderedSet{1, 1}) => false
+@Test strings.oclAsSet() => abc
+@Test integers.oclAsSet() => 123
+@Test reals.oclAsSet() => 1.22.13.2
+@Test booleans.oclAsSet() => truefalsetrue
+@Test eClasses.oclAsSet() -> collect(name) => ClasseAClasseBAbstractClass
+@Test collections.oclAsSet() => abcefgabc
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/sequencesServices.mtl b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/sequencesServices.mtl
index 3e307950..28343cb 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/sequencesServices.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/src/resources/services/sequencesServices/sequencesServices.mtl
@@ -405,7 +405,12 @@
 [comment]A4-UNSUPPORTED drop[/comment]
 [comment]A4-UNSUPPORTED lastIndexOf[/comment]
 [comment]A4-UNSUPPORTED lastIndexOfSlice[/comment]
-[comment]A4-UNSUPPORTED oclAsSet[/comment]
+@Test strings.oclAsSet() => [strings.oclAsSet()/]
+@Test integers.oclAsSet() => [integers.oclAsSet()/]
+@Test reals.oclAsSet() => [reals.oclAsSet()/]
+@Test booleans.oclAsSet() => [booleans.oclAsSet()/]
+@Test eClasses.oclAsSet() -> collect(name) => [eClasses.oclAsSet() -> collect(name)/]
+@Test collections.oclAsSet() => [collections.oclAsSet()/]
 [comment]A4-UNSUPPORTED min[/comment]
 [comment]A4-UNSUPPORTED max[/comment]
 [comment]A4-UNSUPPORTED collectNested[/comment]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/PASS b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/PASS
index b4ad8d5..0209ecf 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/PASS
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/PASS
@@ -565,6 +565,12 @@
 	integers -> endsWith(OrderedSet{1, 1})
 	integers -> endsWith(OrderedSet{2, 3})
 	integers -> endsWith(OrderedSet{1, 1})
+	strings.oclAsSet()
+	integers.oclAsSet()
+	reals.oclAsSet()
+	booleans.oclAsSet()
+	eClasses.oclAsSet() -> collect(name)
+	collections.oclAsSet()
 orderedSetsServices
 	strings.toString()
 	reals.toString()
@@ -892,4 +898,9 @@
 	integers -> endsWith(OrderedSet{1, 1})
 	integers -> endsWith(OrderedSet{2, 3})
 	integers -> endsWith(OrderedSet{1, 1})
+	strings.oclAsSet()
+	integers.oclAsSet()
+	reals.oclAsSet()
+	booleans.oclAsSet()
+	eClasses.oclAsSet() -> collect(name)
 	collections.oclAsSet()
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO
index decad6b..6a8f9e1 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO
+++ b/tests/org.eclipse.acceleo.aql.migration.tests.acceleo3/status/TODO
@@ -54,7 +54,6 @@
 	 lastIndexOfSlice
 	 max
 	 min
-	 oclAsSet
 	 product
 	 removeAll
 	 selectByKind
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/generated/testOrderedSet-expected.txt b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/generated/testOrderedSet-expected.txt
index 1b2db78..a977609 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/generated/testOrderedSet-expected.txt
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/generated/testOrderedSet-expected.txt
@@ -361,4 +361,9 @@
 @Test integers -> endsWith(OrderedSet{1, 1}) => false
 @Test integers -> endsWith(OrderedSet{2, 3}) => true
 @Test integers -> endsWith(OrderedSet{1, 1}) => false
+@Test strings.oclAsSet() => abc
+@Test integers.oclAsSet() => 123
+@Test reals.oclAsSet() => 1.22.13.2
+@Test booleans.oclAsSet() => truefalse
+@Test eClasses.oclAsSet() -> collect(name) => ClasseAClasseBAbstractClass
 @Test collections.oclAsSet() => abcefg
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected.mtl
index a2e4fa6..1158f8b 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-expected.mtl
@@ -372,7 +372,12 @@
                 @Test integers -> endsWith(OrderedSet{1, 1}) => [integers->endsWith(OrderedSet{1, 1})/]
                 @Test integers -> endsWith(OrderedSet{2, 3}) => [integers->endsWith(OrderedSet{2, 3})/]
                 @Test integers -> endsWith(OrderedSet{1, 1}) => [integers->endsWith(OrderedSet{1, 1})/]
-                @Test collections.oclAsSet() => [collections->asSequence()->collect(temp66 | temp66->asSet())/]
+                @Test strings.oclAsSet() => [strings->asSequence()->collect(temp66 | temp66->asSet())/]
+                @Test integers.oclAsSet() => [integers->asSequence()->collect(temp67 | temp67->asSet())/]
+                @Test reals.oclAsSet() => [reals->asSequence()->collect(temp68 | temp68->asSet())/]
+                @Test booleans.oclAsSet() => [booleans->asSequence()->collect(temp69 | temp69->asSet())/]
+                @Test eClasses.oclAsSet() -> collect(name) => [eClasses->asSequence()->collect(temp70 | temp70->asSet())->collect(temp71 | temp71.name)/]
+                @Test collections.oclAsSet() => [collections->asSequence()->collect(temp72 | temp72->asSet())/]
               [/let]
             [/let]
           [/let]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-origin.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-origin.mtl
index 385144d..4930f7f 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-origin.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices-origin.mtl
@@ -406,6 +406,11 @@
 [comment]A4-UNSUPPORTED drop[/comment]
 [comment]A4-UNSUPPORTED lastIndexOf[/comment]
 [comment]A4-UNSUPPORTED lastIndexOfSlice[/comment]
+@Test strings.oclAsSet() => [strings.oclAsSet()/]
+@Test integers.oclAsSet() => [integers.oclAsSet()/]
+@Test reals.oclAsSet() => [reals.oclAsSet()/]
+@Test booleans.oclAsSet() => [booleans.oclAsSet()/]
+@Test eClasses.oclAsSet() -> collect(name) => [eClasses.oclAsSet() -> collect(name)/]
 @Test collections.oclAsSet() => [collections.oclAsSet()/]
 [comment]A4-UNSUPPORTED min[/comment]
 [comment]A4-UNSUPPORTED max[/comment]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.emtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.emtl
index f2dcb04..7fef635 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.emtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.emtl
@@ -5283,14 +5283,91 @@
                       </argument>
                     </body>
                     <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
-                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="@Test collections.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="@Test strings.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(String)">
+                      <source xsi:type="ocl.ecore:VariableExp" name="strings" eType="/7/OrderedSet(String)" referredVariable="/0/testOrderedSet/%/%/strings"/>
+                      <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(String)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/temp66">
+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+                        </source>
+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/oclAsSet"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp66">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test integers.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(Integer)">
+                      <source xsi:type="ocl.ecore:VariableExp" name="integers" eType="/7/OrderedSet(Integer)" referredVariable="/0/testOrderedSet/%/%/%/integers"/>
+                      <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(Integer)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/temp67">
+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+                        </source>
+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/oclAsSet"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp67">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test reals.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(Real)">
+                      <source xsi:type="ocl.ecore:VariableExp" name="reals" eType="/7/OrderedSet(Real)" referredVariable="/0/testOrderedSet/%/%/%/%/reals"/>
+                      <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(Real)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/temp68">
+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+                        </source>
+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/oclAsSet"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp68">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test booleans.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(Boolean)">
+                      <source xsi:type="ocl.ecore:VariableExp" name="booleans" eType="/7/OrderedSet(Boolean)" referredVariable="/0/testOrderedSet/%/%/%/%/%/booleans"/>
+                      <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(Boolean)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/temp69">
+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+                        </source>
+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/oclAsSet"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp69">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test eClasses.oclAsSet() -> collect(name) => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(String)">
+                      <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(EClass)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="eClasses" eType="/7/OrderedSet(EClass)" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/eClasses"/>
+                        <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(EClass)">
+                          <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/temp70">
+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+                          </source>
+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsSet"/>
+                        </body>
+                        <iterator xsi:type="ocl.ecore:Variable" name="temp70">
+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+                        </iterator>
+                      </source>
+                      <body xsi:type="ocl.ecore:PropertyCallExp">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp2" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/temp71">
+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+                        </source>
+                        <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp71">
+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test collections.oclAsSet() => "/>
                     <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(String)">
                       <source xsi:type="ocl.ecore:VariableExp" name="collections" eType="/7/OrderedSet(OrderedSet(String))" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/%/collections"/>
                       <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(Set(String))">
-                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" eType="/7/OrderedSet(String)" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/temp66"/>
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" eType="/7/OrderedSet(String)" referredVariable="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/temp72"/>
                         <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/oclAsSet"/>
                       </body>
-                      <iterator xsi:type="ocl.ecore:Variable" name="temp66" eType="/7/OrderedSet(String)"/>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp72" eType="/7/OrderedSet(String)"/>
                     </body>
                     <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
                     <letVariable name="collections" eType="/7/OrderedSet(OrderedSet(String))">
@@ -6684,47 +6761,62 @@
     <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
   </ocl.ecore:Variable>
   <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
     <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
   </ocl.ecore:Variable>
   <ecore:EAnnotation source="positions">
     <eAnnotations source="positions.0" references="/0/testOrderedSet">
       <details key="start" value="72"/>
-      <details key="end" value="29341"/>
+      <details key="end" value="29627"/>
       <details key="line" value="3"/>
     </eAnnotations>
     <eAnnotations source="positions.1" references="/0/testOrderedSet/%">
       <details key="start" value="136"/>
-      <details key="end" value="29329"/>
+      <details key="end" value="29615"/>
       <details key="line" value="5"/>
     </eAnnotations>
     <eAnnotations source="positions.2" references="/0/testOrderedSet/%/%">
       <details key="start" value="251"/>
-      <details key="end" value="29321"/>
+      <details key="end" value="29607"/>
       <details key="line" value="7"/>
     </eAnnotations>
     <eAnnotations source="positions.3" references="/0/testOrderedSet/%/%/%">
       <details key="start" value="312"/>
-      <details key="end" value="29315"/>
+      <details key="end" value="29601"/>
       <details key="line" value="8"/>
     </eAnnotations>
     <eAnnotations source="positions.4" references="/0/testOrderedSet/%/%/%/%">
       <details key="start" value="369"/>
-      <details key="end" value="29309"/>
+      <details key="end" value="29595"/>
       <details key="line" value="9"/>
     </eAnnotations>
     <eAnnotations source="positions.5" references="/0/testOrderedSet/%/%/%/%/%">
       <details key="start" value="426"/>
-      <details key="end" value="29303"/>
+      <details key="end" value="29589"/>
       <details key="line" value="10"/>
     </eAnnotations>
     <eAnnotations source="positions.6" references="/0/testOrderedSet/%/%/%/%/%/%">
       <details key="start" value="495"/>
-      <details key="end" value="29297"/>
+      <details key="end" value="29583"/>
       <details key="line" value="11"/>
     </eAnnotations>
     <eAnnotations source="positions.7" references="/0/testOrderedSet/%/%/%/%/%/%/%">
       <details key="start" value="564"/>
-      <details key="end" value="29291"/>
+      <details key="end" value="29577"/>
       <details key="line" value="12"/>
     </eAnnotations>
     <eAnnotations source="positions.8" references="/0/testOrderedSet/%/%/%/%/%/%/%/%">
@@ -16614,17 +16706,17 @@
     </eAnnotations>
     <eAnnotations source="positions.1985" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.540">
       <details key="start" value="28935"/>
-      <details key="end" value="28967"/>
+      <details key="end" value="28963"/>
       <details key="line" value="409"/>
     </eAnnotations>
     <eAnnotations source="positions.1986" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42">
-      <details key="start" value="28968"/>
-      <details key="end" value="28990"/>
+      <details key="start" value="28964"/>
+      <details key="end" value="28982"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1987" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/collections">
-      <details key="start" value="28968"/>
-      <details key="end" value="28979"/>
+    <eAnnotations source="positions.1987" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/strings">
+      <details key="start" value="28964"/>
+      <details key="end" value="28971"/>
       <details key="line" value="0"/>
     </eAnnotations>
     <eAnnotations source="positions.1988" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.42/%">
@@ -16643,176 +16735,346 @@
       <details key="line" value="0"/>
     </eAnnotations>
     <eAnnotations source="positions.1991" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.541">
-      <details key="start" value="28992"/>
-      <details key="end" value="28993"/>
+      <details key="start" value="28984"/>
+      <details key="end" value="29014"/>
       <details key="line" value="410"/>
     </eAnnotations>
-    <eAnnotations source="positions.1992" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections">
+    <eAnnotations source="positions.1992" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43">
+      <details key="start" value="29015"/>
+      <details key="end" value="29034"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1993" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/integers">
+      <details key="start" value="29015"/>
+      <details key="end" value="29023"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1994" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1995" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1996" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.43/temp67">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1997" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.542">
+      <details key="start" value="29036"/>
+      <details key="end" value="29063"/>
+      <details key="line" value="411"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1998" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44">
+      <details key="start" value="29064"/>
+      <details key="end" value="29080"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1999" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/reals">
+      <details key="start" value="29064"/>
+      <details key="end" value="29069"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2000" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2001" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2002" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.44/temp68">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2003" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.543">
+      <details key="start" value="29082"/>
+      <details key="end" value="29112"/>
+      <details key="line" value="412"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2004" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45">
+      <details key="start" value="29113"/>
+      <details key="end" value="29132"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2005" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/booleans">
+      <details key="start" value="29113"/>
+      <details key="end" value="29121"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2006" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2007" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2008" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.45/temp69">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2009" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.544">
+      <details key="start" value="29134"/>
+      <details key="end" value="29181"/>
+      <details key="line" value="413"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2010" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46">
+      <details key="start" value="29182"/>
+      <details key="end" value="29218"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2011" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect">
+      <details key="start" value="29182"/>
+      <details key="end" value="29201"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2012" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/eClasses">
+      <details key="start" value="29182"/>
+      <details key="end" value="29190"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2013" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2014" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2015" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/collect/temp70">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2016" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/%">
+      <details key="start" value="29213"/>
+      <details key="end" value="29217"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2017" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/%/temp2">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2018" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.46/temp71">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2019" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.545">
+      <details key="start" value="29220"/>
+      <details key="end" value="29253"/>
+      <details key="line" value="414"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2020" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47">
+      <details key="start" value="29254"/>
+      <details key="end" value="29276"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2021" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/collections">
+      <details key="start" value="29254"/>
+      <details key="end" value="29265"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2022" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2023" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2024" references="/0/testOrderedSet/%/%/%/%/%/%/%/collect.47/temp72">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2025" references="/0/testOrderedSet/%/%/%/%/%/%/%/%.546">
+      <details key="start" value="29278"/>
+      <details key="end" value="29279"/>
+      <details key="line" value="415"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2026" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections">
       <details key="start" value="569"/>
       <details key="end" value="667"/>
       <details key="line" value="12"/>
     </eAnnotations>
-    <eAnnotations source="positions.1993" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%">
+    <eAnnotations source="positions.2027" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%">
       <details key="start" value="617"/>
       <details key="end" value="668"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1994" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%/strings">
+    <eAnnotations source="positions.2028" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%/strings">
       <details key="start" value="628"/>
       <details key="end" value="635"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1995" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%">
+    <eAnnotations source="positions.2029" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%">
       <details key="start" value="636"/>
       <details key="end" value="659"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1996" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%/%">
+    <eAnnotations source="positions.2030" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%/%">
       <details key="start" value="647"/>
       <details key="end" value="650"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1997" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%.1/%">
+    <eAnnotations source="positions.2031" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%.1/%">
       <details key="start" value="651"/>
       <details key="end" value="654"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1998" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%.2/%">
+    <eAnnotations source="positions.2032" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.1/%/%.2/%">
       <details key="start" value="655"/>
       <details key="end" value="658"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1999" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.2/strings">
+    <eAnnotations source="positions.2033" references="/0/testOrderedSet/%/%/%/%/%/%/%/collections/%/%.2/strings">
       <details key="start" value="660"/>
       <details key="end" value="667"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2000" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses">
+    <eAnnotations source="positions.2034" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses">
       <details key="start" value="500"/>
       <details key="end" value="562"/>
       <details key="line" value="11"/>
     </eAnnotations>
-    <eAnnotations source="positions.2001" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%">
+    <eAnnotations source="positions.2035" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%">
       <details key="start" value="533"/>
       <details key="end" value="563"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2002" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%/%">
+    <eAnnotations source="positions.2036" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%/%">
       <details key="start" value="533"/>
       <details key="end" value="547"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2003" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%/%/p">
+    <eAnnotations source="positions.2037" references="/0/testOrderedSet/%/%/%/%/%/%/eClasses/%/%/p">
       <details key="start" value="533"/>
       <details key="end" value="534"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2004" references="/0/testOrderedSet/%/%/%/%/%/booleans">
+    <eAnnotations source="positions.2038" references="/0/testOrderedSet/%/%/%/%/%/booleans">
       <details key="start" value="431"/>
       <details key="end" value="493"/>
       <details key="line" value="10"/>
     </eAnnotations>
-    <eAnnotations source="positions.2005" references="/0/testOrderedSet/%/%/%/%/%/booleans/%">
+    <eAnnotations source="positions.2039" references="/0/testOrderedSet/%/%/%/%/%/booleans/%">
       <details key="start" value="465"/>
       <details key="end" value="494"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2006" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%/%">
+    <eAnnotations source="positions.2040" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%/%">
       <details key="start" value="476"/>
       <details key="end" value="480"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2007" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%.1/%">
+    <eAnnotations source="positions.2041" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%.1/%">
       <details key="start" value="482"/>
       <details key="end" value="487"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2008" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%.2/%">
+    <eAnnotations source="positions.2042" references="/0/testOrderedSet/%/%/%/%/%/booleans/%/%.2/%">
       <details key="start" value="489"/>
       <details key="end" value="493"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2009" references="/0/testOrderedSet/%/%/%/%/reals">
+    <eAnnotations source="positions.2043" references="/0/testOrderedSet/%/%/%/%/reals">
       <details key="start" value="374"/>
       <details key="end" value="424"/>
       <details key="line" value="9"/>
     </eAnnotations>
-    <eAnnotations source="positions.2010" references="/0/testOrderedSet/%/%/%/%/reals/%">
+    <eAnnotations source="positions.2044" references="/0/testOrderedSet/%/%/%/%/reals/%">
       <details key="start" value="402"/>
       <details key="end" value="425"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2011" references="/0/testOrderedSet/%/%/%/%/reals/%/%/%">
+    <eAnnotations source="positions.2045" references="/0/testOrderedSet/%/%/%/%/reals/%/%/%">
       <details key="start" value="413"/>
       <details key="end" value="416"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2012" references="/0/testOrderedSet/%/%/%/%/reals/%/%.1/%">
+    <eAnnotations source="positions.2046" references="/0/testOrderedSet/%/%/%/%/reals/%/%.1/%">
       <details key="start" value="417"/>
       <details key="end" value="420"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2013" references="/0/testOrderedSet/%/%/%/%/reals/%/%.2/%">
+    <eAnnotations source="positions.2047" references="/0/testOrderedSet/%/%/%/%/reals/%/%.2/%">
       <details key="start" value="421"/>
       <details key="end" value="424"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2014" references="/0/testOrderedSet/%/%/%/integers">
+    <eAnnotations source="positions.2048" references="/0/testOrderedSet/%/%/%/integers">
       <details key="start" value="317"/>
       <details key="end" value="367"/>
       <details key="line" value="8"/>
     </eAnnotations>
-    <eAnnotations source="positions.2015" references="/0/testOrderedSet/%/%/%/integers/%">
+    <eAnnotations source="positions.2049" references="/0/testOrderedSet/%/%/%/integers/%">
       <details key="start" value="351"/>
       <details key="end" value="368"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2016" references="/0/testOrderedSet/%/%/%/integers/%/%/%">
+    <eAnnotations source="positions.2050" references="/0/testOrderedSet/%/%/%/integers/%/%/%">
       <details key="start" value="362"/>
       <details key="end" value="363"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2017" references="/0/testOrderedSet/%/%/%/integers/%/%.1/%">
+    <eAnnotations source="positions.2051" references="/0/testOrderedSet/%/%/%/integers/%/%.1/%">
       <details key="start" value="364"/>
       <details key="end" value="365"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2018" references="/0/testOrderedSet/%/%/%/integers/%/%.2/%">
+    <eAnnotations source="positions.2052" references="/0/testOrderedSet/%/%/%/integers/%/%.2/%">
       <details key="start" value="366"/>
       <details key="end" value="367"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2019" references="/0/testOrderedSet/%/%/strings">
+    <eAnnotations source="positions.2053" references="/0/testOrderedSet/%/%/strings">
       <details key="start" value="256"/>
       <details key="end" value="310"/>
       <details key="line" value="7"/>
     </eAnnotations>
-    <eAnnotations source="positions.2020" references="/0/testOrderedSet/%/%/strings/%">
+    <eAnnotations source="positions.2054" references="/0/testOrderedSet/%/%/strings/%">
       <details key="start" value="288"/>
       <details key="end" value="311"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2021" references="/0/testOrderedSet/%/%/strings/%/%/%">
+    <eAnnotations source="positions.2055" references="/0/testOrderedSet/%/%/strings/%/%/%">
       <details key="start" value="299"/>
       <details key="end" value="302"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2022" references="/0/testOrderedSet/%/%/strings/%/%.1/%">
+    <eAnnotations source="positions.2056" references="/0/testOrderedSet/%/%/strings/%/%.1/%">
       <details key="start" value="303"/>
       <details key="end" value="306"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2023" references="/0/testOrderedSet/%/%/strings/%/%.2/%">
+    <eAnnotations source="positions.2057" references="/0/testOrderedSet/%/%/strings/%/%.2/%">
       <details key="start" value="307"/>
       <details key="end" value="310"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2024" references="/0/testOrderedSet/%/%.1">
+    <eAnnotations source="positions.2058" references="/0/testOrderedSet/%/%.1">
       <details key="start" value="143"/>
       <details key="end" value="159"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.2025" references="/0/testOrderedSet/p">
+    <eAnnotations source="positions.2059" references="/0/testOrderedSet/p">
       <details key="start" value="104"/>
       <details key="end" value="116"/>
       <details key="line" value="3"/>
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.mtl
index a2e4fa6..1158f8b 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/orderedSetsServices/orderedSetsServices.mtl
@@ -372,7 +372,12 @@
                 @Test integers -> endsWith(OrderedSet{1, 1}) => [integers->endsWith(OrderedSet{1, 1})/]
                 @Test integers -> endsWith(OrderedSet{2, 3}) => [integers->endsWith(OrderedSet{2, 3})/]
                 @Test integers -> endsWith(OrderedSet{1, 1}) => [integers->endsWith(OrderedSet{1, 1})/]
-                @Test collections.oclAsSet() => [collections->asSequence()->collect(temp66 | temp66->asSet())/]
+                @Test strings.oclAsSet() => [strings->asSequence()->collect(temp66 | temp66->asSet())/]
+                @Test integers.oclAsSet() => [integers->asSequence()->collect(temp67 | temp67->asSet())/]
+                @Test reals.oclAsSet() => [reals->asSequence()->collect(temp68 | temp68->asSet())/]
+                @Test booleans.oclAsSet() => [booleans->asSequence()->collect(temp69 | temp69->asSet())/]
+                @Test eClasses.oclAsSet() -> collect(name) => [eClasses->asSequence()->collect(temp70 | temp70->asSet())->collect(temp71 | temp71.name)/]
+                @Test collections.oclAsSet() => [collections->asSequence()->collect(temp72 | temp72->asSet())/]
               [/let]
             [/let]
           [/let]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/generated/testSequence-expected.txt b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/generated/testSequence-expected.txt
index a7d66c8..156e525 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/generated/testSequence-expected.txt
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/generated/testSequence-expected.txt
@@ -363,3 +363,9 @@
 @Test integers -> endsWith(OrderedSet{1, 1}) => false
 @Test integers -> endsWith(OrderedSet{2, 3}) => true
 @Test integers -> endsWith(OrderedSet{1, 1}) => false
+@Test strings.oclAsSet() => abc
+@Test integers.oclAsSet() => 123
+@Test reals.oclAsSet() => 1.22.13.2
+@Test booleans.oclAsSet() => truefalsetrue
+@Test eClasses.oclAsSet() -> collect(name) => ClasseAClasseBAbstractClass
+@Test collections.oclAsSet() => abcefgabc
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected.mtl
index 2927dca..c59a809 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-expected.mtl
@@ -374,6 +374,12 @@
                 @Test integers -> endsWith(OrderedSet{1, 1}) => [integers->endsWith(OrderedSet{1, 1})/]
                 @Test integers -> endsWith(OrderedSet{2, 3}) => [integers->endsWith(OrderedSet{2, 3})/]
                 @Test integers -> endsWith(OrderedSet{1, 1}) => [integers->endsWith(OrderedSet{1, 1})/]
+                @Test strings.oclAsSet() => [strings->collect(temp60 | temp60->asSet())/]
+                @Test integers.oclAsSet() => [integers->collect(temp61 | temp61->asSet())/]
+                @Test reals.oclAsSet() => [reals->collect(temp62 | temp62->asSet())/]
+                @Test booleans.oclAsSet() => [booleans->collect(temp63 | temp63->asSet())/]
+                @Test eClasses.oclAsSet() -> collect(name) => [eClasses->collect(temp64 | temp64->asSet())->collect(temp65 | temp65.name)/]
+                @Test collections.oclAsSet() => [collections->collect(temp66 | temp66->asSet())/]
               [/let]
             [/let]
           [/let]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-origin.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-origin.mtl
index 3e307950..28343cb 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-origin.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices-origin.mtl
@@ -405,7 +405,12 @@
 [comment]A4-UNSUPPORTED drop[/comment]
 [comment]A4-UNSUPPORTED lastIndexOf[/comment]
 [comment]A4-UNSUPPORTED lastIndexOfSlice[/comment]
-[comment]A4-UNSUPPORTED oclAsSet[/comment]
+@Test strings.oclAsSet() => [strings.oclAsSet()/]
+@Test integers.oclAsSet() => [integers.oclAsSet()/]
+@Test reals.oclAsSet() => [reals.oclAsSet()/]
+@Test booleans.oclAsSet() => [booleans.oclAsSet()/]
+@Test eClasses.oclAsSet() -> collect(name) => [eClasses.oclAsSet() -> collect(name)/]
+@Test collections.oclAsSet() => [collections.oclAsSet()/]
 [comment]A4-UNSUPPORTED min[/comment]
 [comment]A4-UNSUPPORTED max[/comment]
 [comment]A4-UNSUPPORTED collectNested[/comment]
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.emtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.emtl
index c8dade8..18a5cd1 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.emtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.emtl
@@ -5218,6 +5218,93 @@
                       </argument>
                     </body>
                     <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="@Test strings.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(String)">
+                      <source xsi:type="ocl.ecore:VariableExp" name="strings" eType="/7/Sequence(String)" referredVariable="/0/testSequence/%/%/strings"/>
+                      <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(String)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testSequence/%/%/%/%/%/%/%/collect.46/temp60">
+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+                        </source>
+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/oclAsSet"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp60">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test integers.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(Integer)">
+                      <source xsi:type="ocl.ecore:VariableExp" name="integers" eType="/7/Sequence(Integer)" referredVariable="/0/testSequence/%/%/%/integers"/>
+                      <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(Integer)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testSequence/%/%/%/%/%/%/%/collect.47/temp61">
+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+                        </source>
+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/oclAsSet"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp61">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test reals.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(Real)">
+                      <source xsi:type="ocl.ecore:VariableExp" name="reals" eType="/7/Sequence(Real)" referredVariable="/0/testSequence/%/%/%/%/reals"/>
+                      <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(Real)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testSequence/%/%/%/%/%/%/%/collect.48/temp62">
+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+                        </source>
+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real_Class/oclAsSet"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp62">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test booleans.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(Boolean)">
+                      <source xsi:type="ocl.ecore:VariableExp" name="booleans" eType="/7/Sequence(Boolean)" referredVariable="/0/testSequence/%/%/%/%/%/booleans"/>
+                      <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(Boolean)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testSequence/%/%/%/%/%/%/%/collect.49/temp63">
+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+                        </source>
+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/oclAsSet"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp63">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test eClasses.oclAsSet() -> collect(name) => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(String)">
+                      <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(EClass)">
+                        <source xsi:type="ocl.ecore:VariableExp" name="eClasses" eType="/7/Sequence(EClass)" referredVariable="/0/testSequence/%/%/%/%/%/%/eClasses"/>
+                        <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(EClass)">
+                          <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/temp64">
+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+                          </source>
+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsSet"/>
+                        </body>
+                        <iterator xsi:type="ocl.ecore:Variable" name="temp64">
+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+                        </iterator>
+                      </source>
+                      <body xsi:type="ocl.ecore:PropertyCallExp">
+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp2" referredVariable="/0/testSequence/%/%/%/%/%/%/%/collect.50/temp65">
+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+                        </source>
+                        <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp65">
+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
+                      </iterator>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;@Test collections.oclAsSet() => "/>
+                    <body xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/7/Sequence(String)">
+                      <source xsi:type="ocl.ecore:VariableExp" name="collections" eType="/7/Sequence(Sequence(String))" referredVariable="/0/testSequence/%/%/%/%/%/%/%/collections"/>
+                      <body xsi:type="ocl.ecore:OperationCallExp" eType="/7/Set(Sequence(String))">
+                        <source xsi:type="ocl.ecore:VariableExp" name="temp1" eType="/7/Sequence(String)" referredVariable="/0/testSequence/%/%/%/%/%/%/%/collect.51/temp66"/>
+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/oclAsSet"/>
+                      </body>
+                      <iterator xsi:type="ocl.ecore:Variable" name="temp66" eType="/7/Sequence(String)"/>
+                    </body>
+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
                     <letVariable name="collections" eType="/7/Sequence(Sequence(String))">
                       <initExpression xsi:type="ocl.ecore:CollectionLiteralExp" eType="/7/Sequence(Sequence(String))" kind="Sequence">
                         <part xsi:type="ocl.ecore:CollectionItem" eType="/7/Sequence(String)">
@@ -5555,6 +5642,19 @@
     <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(EPackage)" instanceClassName="java.util.List">
       <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
     </eClassifiers>
+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(String)" instanceClassName="java.util.Set">
+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Integer)" instanceClassName="java.util.Set">
+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Real)" instanceClassName="java.util.Set">
+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Boolean)" instanceClassName="java.util.Set">
+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Sequence(String))" instanceClassName="java.util.Set" elementType="/7/Sequence(String)"/>
   </ecore:EPackage>
   <ocl.ecore:Variable name="self">
     <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
@@ -6579,47 +6679,65 @@
     <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
   </ocl.ecore:Variable>
   <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EPackage"/>
+  </ocl.ecore:Variable>
+  <ocl.ecore:Variable name="self">
     <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
   </ocl.ecore:Variable>
   <ecore:EAnnotation source="positions">
     <eAnnotations source="positions.0" references="/0/testSequence">
       <details key="start" value="70"/>
-      <details key="end" value="28412"/>
+      <details key="end" value="28713"/>
       <details key="line" value="3"/>
     </eAnnotations>
     <eAnnotations source="positions.1" references="/0/testSequence/%">
       <details key="start" value="132"/>
-      <details key="end" value="28400"/>
+      <details key="end" value="28701"/>
       <details key="line" value="5"/>
     </eAnnotations>
     <eAnnotations source="positions.2" references="/0/testSequence/%/%">
       <details key="start" value="242"/>
-      <details key="end" value="28392"/>
+      <details key="end" value="28693"/>
       <details key="line" value="7"/>
     </eAnnotations>
     <eAnnotations source="positions.3" references="/0/testSequence/%/%/%">
       <details key="start" value="299"/>
-      <details key="end" value="28386"/>
+      <details key="end" value="28687"/>
       <details key="line" value="8"/>
     </eAnnotations>
     <eAnnotations source="positions.4" references="/0/testSequence/%/%/%/%">
       <details key="start" value="352"/>
-      <details key="end" value="28380"/>
+      <details key="end" value="28681"/>
       <details key="line" value="9"/>
     </eAnnotations>
     <eAnnotations source="positions.5" references="/0/testSequence/%/%/%/%/%">
       <details key="start" value="405"/>
-      <details key="end" value="28374"/>
+      <details key="end" value="28675"/>
       <details key="line" value="10"/>
     </eAnnotations>
     <eAnnotations source="positions.6" references="/0/testSequence/%/%/%/%/%/%">
       <details key="start" value="470"/>
-      <details key="end" value="28368"/>
+      <details key="end" value="28669"/>
       <details key="line" value="11"/>
     </eAnnotations>
     <eAnnotations source="positions.7" references="/0/testSequence/%/%/%/%/%/%/%">
       <details key="start" value="535"/>
-      <details key="end" value="28362"/>
+      <details key="end" value="28663"/>
       <details key="line" value="12"/>
     </eAnnotations>
     <eAnnotations source="positions.8" references="/0/testSequence/%/%/%/%/%/%/%/%">
@@ -16392,172 +16510,377 @@
       <details key="end" value="27831"/>
       <details key="line" value="404"/>
     </eAnnotations>
-    <eAnnotations source="positions.1962" references="/0/testSequence/%/%/%/%/%/%/%/collections">
+    <eAnnotations source="positions.1962" references="/0/testSequence/%/%/%/%/%/%/%/%.545">
+      <details key="start" value="28011"/>
+      <details key="end" value="28039"/>
+      <details key="line" value="408"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1963" references="/0/testSequence/%/%/%/%/%/%/%/collect.46">
+      <details key="start" value="28040"/>
+      <details key="end" value="28058"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1964" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/strings">
+      <details key="start" value="28040"/>
+      <details key="end" value="28047"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1965" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1966" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1967" references="/0/testSequence/%/%/%/%/%/%/%/collect.46/temp60">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1968" references="/0/testSequence/%/%/%/%/%/%/%/%.546">
+      <details key="start" value="28060"/>
+      <details key="end" value="28090"/>
+      <details key="line" value="409"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1969" references="/0/testSequence/%/%/%/%/%/%/%/collect.47">
+      <details key="start" value="28091"/>
+      <details key="end" value="28110"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1970" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/integers">
+      <details key="start" value="28091"/>
+      <details key="end" value="28099"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1971" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1972" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1973" references="/0/testSequence/%/%/%/%/%/%/%/collect.47/temp61">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1974" references="/0/testSequence/%/%/%/%/%/%/%/%.547">
+      <details key="start" value="28112"/>
+      <details key="end" value="28139"/>
+      <details key="line" value="410"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1975" references="/0/testSequence/%/%/%/%/%/%/%/collect.48">
+      <details key="start" value="28140"/>
+      <details key="end" value="28156"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1976" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/reals">
+      <details key="start" value="28140"/>
+      <details key="end" value="28145"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1977" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1978" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1979" references="/0/testSequence/%/%/%/%/%/%/%/collect.48/temp62">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1980" references="/0/testSequence/%/%/%/%/%/%/%/%.548">
+      <details key="start" value="28158"/>
+      <details key="end" value="28188"/>
+      <details key="line" value="411"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1981" references="/0/testSequence/%/%/%/%/%/%/%/collect.49">
+      <details key="start" value="28189"/>
+      <details key="end" value="28208"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1982" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/booleans">
+      <details key="start" value="28189"/>
+      <details key="end" value="28197"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1983" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1984" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1985" references="/0/testSequence/%/%/%/%/%/%/%/collect.49/temp63">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1986" references="/0/testSequence/%/%/%/%/%/%/%/%.549">
+      <details key="start" value="28210"/>
+      <details key="end" value="28257"/>
+      <details key="line" value="412"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1987" references="/0/testSequence/%/%/%/%/%/%/%/collect.50">
+      <details key="start" value="28258"/>
+      <details key="end" value="28294"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1988" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect">
+      <details key="start" value="28258"/>
+      <details key="end" value="28277"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1989" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/eClasses">
+      <details key="start" value="28258"/>
+      <details key="end" value="28266"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1990" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1991" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1992" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/collect/temp64">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1993" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/%">
+      <details key="start" value="28289"/>
+      <details key="end" value="28293"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1994" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/%/temp2">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1995" references="/0/testSequence/%/%/%/%/%/%/%/collect.50/temp65">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1996" references="/0/testSequence/%/%/%/%/%/%/%/%.550">
+      <details key="start" value="28296"/>
+      <details key="end" value="28329"/>
+      <details key="line" value="413"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1997" references="/0/testSequence/%/%/%/%/%/%/%/collect.51">
+      <details key="start" value="28330"/>
+      <details key="end" value="28352"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1998" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/collections">
+      <details key="start" value="28330"/>
+      <details key="end" value="28341"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.1999" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/%">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2000" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/%/temp1">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2001" references="/0/testSequence/%/%/%/%/%/%/%/collect.51/temp66">
+      <details key="start" value="-1"/>
+      <details key="end" value="-1"/>
+      <details key="line" value="0"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2002" references="/0/testSequence/%/%/%/%/%/%/%/%.551">
+      <details key="start" value="28354"/>
+      <details key="end" value="28355"/>
+      <details key="line" value="414"/>
+    </eAnnotations>
+    <eAnnotations source="positions.2003" references="/0/testSequence/%/%/%/%/%/%/%/collections">
       <details key="start" value="540"/>
       <details key="end" value="630"/>
       <details key="line" value="12"/>
     </eAnnotations>
-    <eAnnotations source="positions.1963" references="/0/testSequence/%/%/%/%/%/%/%/collections/%">
+    <eAnnotations source="positions.2004" references="/0/testSequence/%/%/%/%/%/%/%/collections/%">
       <details key="start" value="584"/>
       <details key="end" value="631"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1964" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%/strings">
+    <eAnnotations source="positions.2005" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%/strings">
       <details key="start" value="593"/>
       <details key="end" value="600"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1965" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%">
+    <eAnnotations source="positions.2006" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%">
       <details key="start" value="601"/>
       <details key="end" value="622"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1966" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%/%">
+    <eAnnotations source="positions.2007" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%/%">
       <details key="start" value="610"/>
       <details key="end" value="613"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1967" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%.1/%">
+    <eAnnotations source="positions.2008" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%.1/%">
       <details key="start" value="614"/>
       <details key="end" value="617"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1968" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%.2/%">
+    <eAnnotations source="positions.2009" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.1/%/%.2/%">
       <details key="start" value="618"/>
       <details key="end" value="621"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1969" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.2/strings">
+    <eAnnotations source="positions.2010" references="/0/testSequence/%/%/%/%/%/%/%/collections/%/%.2/strings">
       <details key="start" value="623"/>
       <details key="end" value="630"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1970" references="/0/testSequence/%/%/%/%/%/%/eClasses">
+    <eAnnotations source="positions.2011" references="/0/testSequence/%/%/%/%/%/%/eClasses">
       <details key="start" value="475"/>
       <details key="end" value="533"/>
       <details key="line" value="11"/>
     </eAnnotations>
-    <eAnnotations source="positions.1971" references="/0/testSequence/%/%/%/%/%/%/eClasses/%">
+    <eAnnotations source="positions.2012" references="/0/testSequence/%/%/%/%/%/%/eClasses/%">
       <details key="start" value="506"/>
       <details key="end" value="534"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1972" references="/0/testSequence/%/%/%/%/%/%/eClasses/%/%">
+    <eAnnotations source="positions.2013" references="/0/testSequence/%/%/%/%/%/%/eClasses/%/%">
       <details key="start" value="506"/>
       <details key="end" value="520"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1973" references="/0/testSequence/%/%/%/%/%/%/eClasses/%/%/p">
+    <eAnnotations source="positions.2014" references="/0/testSequence/%/%/%/%/%/%/eClasses/%/%/p">
       <details key="start" value="506"/>
       <details key="end" value="507"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1974" references="/0/testSequence/%/%/%/%/%/booleans">
+    <eAnnotations source="positions.2015" references="/0/testSequence/%/%/%/%/%/booleans">
       <details key="start" value="410"/>
       <details key="end" value="468"/>
       <details key="line" value="10"/>
     </eAnnotations>
-    <eAnnotations source="positions.1975" references="/0/testSequence/%/%/%/%/%/booleans/%">
+    <eAnnotations source="positions.2016" references="/0/testSequence/%/%/%/%/%/booleans/%">
       <details key="start" value="442"/>
       <details key="end" value="469"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1976" references="/0/testSequence/%/%/%/%/%/booleans/%/%/%">
+    <eAnnotations source="positions.2017" references="/0/testSequence/%/%/%/%/%/booleans/%/%/%">
       <details key="start" value="451"/>
       <details key="end" value="455"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1977" references="/0/testSequence/%/%/%/%/%/booleans/%/%.1/%">
+    <eAnnotations source="positions.2018" references="/0/testSequence/%/%/%/%/%/booleans/%/%.1/%">
       <details key="start" value="457"/>
       <details key="end" value="462"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1978" references="/0/testSequence/%/%/%/%/%/booleans/%/%.2/%">
+    <eAnnotations source="positions.2019" references="/0/testSequence/%/%/%/%/%/booleans/%/%.2/%">
       <details key="start" value="464"/>
       <details key="end" value="468"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1979" references="/0/testSequence/%/%/%/%/reals">
+    <eAnnotations source="positions.2020" references="/0/testSequence/%/%/%/%/reals">
       <details key="start" value="357"/>
       <details key="end" value="403"/>
       <details key="line" value="9"/>
     </eAnnotations>
-    <eAnnotations source="positions.1980" references="/0/testSequence/%/%/%/%/reals/%">
+    <eAnnotations source="positions.2021" references="/0/testSequence/%/%/%/%/reals/%">
       <details key="start" value="383"/>
       <details key="end" value="404"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1981" references="/0/testSequence/%/%/%/%/reals/%/%/%">
+    <eAnnotations source="positions.2022" references="/0/testSequence/%/%/%/%/reals/%/%/%">
       <details key="start" value="392"/>
       <details key="end" value="395"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1982" references="/0/testSequence/%/%/%/%/reals/%/%.1/%">
+    <eAnnotations source="positions.2023" references="/0/testSequence/%/%/%/%/reals/%/%.1/%">
       <details key="start" value="396"/>
       <details key="end" value="399"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1983" references="/0/testSequence/%/%/%/%/reals/%/%.2/%">
+    <eAnnotations source="positions.2024" references="/0/testSequence/%/%/%/%/reals/%/%.2/%">
       <details key="start" value="400"/>
       <details key="end" value="403"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1984" references="/0/testSequence/%/%/%/integers">
+    <eAnnotations source="positions.2025" references="/0/testSequence/%/%/%/integers">
       <details key="start" value="304"/>
       <details key="end" value="350"/>
       <details key="line" value="8"/>
     </eAnnotations>
-    <eAnnotations source="positions.1985" references="/0/testSequence/%/%/%/integers/%">
+    <eAnnotations source="positions.2026" references="/0/testSequence/%/%/%/integers/%">
       <details key="start" value="336"/>
       <details key="end" value="351"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1986" references="/0/testSequence/%/%/%/integers/%/%/%">
+    <eAnnotations source="positions.2027" references="/0/testSequence/%/%/%/integers/%/%/%">
       <details key="start" value="345"/>
       <details key="end" value="346"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1987" references="/0/testSequence/%/%/%/integers/%/%.1/%">
+    <eAnnotations source="positions.2028" references="/0/testSequence/%/%/%/integers/%/%.1/%">
       <details key="start" value="347"/>
       <details key="end" value="348"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1988" references="/0/testSequence/%/%/%/integers/%/%.2/%">
+    <eAnnotations source="positions.2029" references="/0/testSequence/%/%/%/integers/%/%.2/%">
       <details key="start" value="349"/>
       <details key="end" value="350"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1989" references="/0/testSequence/%/%/strings">
+    <eAnnotations source="positions.2030" references="/0/testSequence/%/%/strings">
       <details key="start" value="247"/>
       <details key="end" value="297"/>
       <details key="line" value="7"/>
     </eAnnotations>
-    <eAnnotations source="positions.1990" references="/0/testSequence/%/%/strings/%">
+    <eAnnotations source="positions.2031" references="/0/testSequence/%/%/strings/%">
       <details key="start" value="277"/>
       <details key="end" value="298"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1991" references="/0/testSequence/%/%/strings/%/%/%">
+    <eAnnotations source="positions.2032" references="/0/testSequence/%/%/strings/%/%/%">
       <details key="start" value="286"/>
       <details key="end" value="289"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1992" references="/0/testSequence/%/%/strings/%/%.1/%">
+    <eAnnotations source="positions.2033" references="/0/testSequence/%/%/strings/%/%.1/%">
       <details key="start" value="290"/>
       <details key="end" value="293"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1993" references="/0/testSequence/%/%/strings/%/%.2/%">
+    <eAnnotations source="positions.2034" references="/0/testSequence/%/%/strings/%/%.2/%">
       <details key="start" value="294"/>
       <details key="end" value="297"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1994" references="/0/testSequence/%/%.1">
+    <eAnnotations source="positions.2035" references="/0/testSequence/%/%.1">
       <details key="start" value="139"/>
       <details key="end" value="153"/>
       <details key="line" value="0"/>
     </eAnnotations>
-    <eAnnotations source="positions.1995" references="/0/testSequence/p">
+    <eAnnotations source="positions.2036" references="/0/testSequence/p">
       <details key="start" value="100"/>
       <details key="end" value="112"/>
       <details key="line" value="3"/>
diff --git a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.mtl b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.mtl
index 2927dca..c59a809 100644
--- a/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.mtl
+++ b/tests/org.eclipse.acceleo.aql.migration.tests/resources/services/sequencesServices/sequencesServices.mtl
@@ -374,6 +374,12 @@
                 @Test integers -> endsWith(OrderedSet{1, 1}) => [integers->endsWith(OrderedSet{1, 1})/]
                 @Test integers -> endsWith(OrderedSet{2, 3}) => [integers->endsWith(OrderedSet{2, 3})/]
                 @Test integers -> endsWith(OrderedSet{1, 1}) => [integers->endsWith(OrderedSet{1, 1})/]
+                @Test strings.oclAsSet() => [strings->collect(temp60 | temp60->asSet())/]
+                @Test integers.oclAsSet() => [integers->collect(temp61 | temp61->asSet())/]
+                @Test reals.oclAsSet() => [reals->collect(temp62 | temp62->asSet())/]
+                @Test booleans.oclAsSet() => [booleans->collect(temp63 | temp63->asSet())/]
+                @Test eClasses.oclAsSet() -> collect(name) => [eClasses->collect(temp64 | temp64->asSet())->collect(temp65 | temp65.name)/]
+                @Test collections.oclAsSet() => [collections->collect(temp66 | temp66->asSet())/]
               [/let]
             [/let]
           [/let]