Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ tests/Makefile.am	(revision d03a386f1d6cd83b3e5eabdfdeb1a1a6903d70e6)
@@ -288,42 +288,6 @@
 	-cp ${test} ${abspath ${@}}
 
-collections/string-operator-ERR01 : collections/string-operator.cfa
-	${CFACOMPILE_SYNTAX} -DTRY_MR01
-	-cp ${test} ${abspath ${@}}
-
-collections/string-operator-ERR02 : collections/string-operator.cfa
-	${CFACOMPILE_SYNTAX} -DTRY_MR02
-	-cp ${test} ${abspath ${@}}
-
-collections/string-operator-ERR03 : collections/string-operator.cfa
-	${CFACOMPILE_SYNTAX} -DTRY_MR03
-	-cp ${test} ${abspath ${@}}
-
-collections/string-operator-ERR04 : collections/string-operator.cfa
-	${CFACOMPILE_SYNTAX} -DTRY_MR04
-	-cp ${test} ${abspath ${@}}
-
-collections/string-operator-ERR05 : collections/string-operator.cfa
-	${CFACOMPILE_SYNTAX} -DTRY_MR05
-	-cp ${test} ${abspath ${@}}
-
-collections/string-operator-ERR06 : collections/string-operator.cfa
-	${CFACOMPILE_SYNTAX} -DTRY_MR06
-	-cp ${test} ${abspath ${@}}
-
-collections/string-operator-ERR07 : collections/string-operator.cfa
-	${CFACOMPILE_SYNTAX} -DTRY_MR07
-	-cp ${test} ${abspath ${@}}
-
-collections/string-operator-ERR08 : collections/string-operator.cfa
-	${CFACOMPILE_SYNTAX} -DTRY_MR08
-	-cp ${test} ${abspath ${@}}
-
 collections/string-operator-ERR09 : collections/string-operator.cfa
 	${CFACOMPILE_SYNTAX} -DTRY_MR09
-	-cp ${test} ${abspath ${@}}
-
-collections/string-operator-ERR10 : collections/string-operator.cfa
-	${CFACOMPILE_SYNTAX} -DTRY_MR10
 	-cp ${test} ${abspath ${@}}
 
Index: tests/collections/.expect/string-operator-ERR01.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR01.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ 	(revision )
@@ -1,139 +1,0 @@
-collections/string-operator.cfa:139:1 error: Cannot choose between 2 alternatives for expression
-Applying untyped:
-  Name: ?{}
-...to:
-  Generated Cast of:
-    Variable Expression: s: instance of struct string with body
-    ... with resolved type:
-      instance of struct string with body
-  ... to:
-    reference to instance of struct string with body
-  ... with resolved type:
-    reference to instance of struct string with body
-  Applying untyped:
-    Name: ?+?
-  ...to:
-    Constant Expression ('a': char)
-    ... with resolved type:
-      char
-    Constant Expression ('b': char)
-    ... with resolved type:
-      char
-
- Alternatives are:
-Cost ( 0, 0, 0, 0, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?{}: function
-      ... with parameters
-        reference to instance of struct string with body
-        char
-      ... returning nothing
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          char
-        ... returning nothing
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          char
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            char
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        char
-
-    ... with resolved type:
-      void
-  (types:
-    void
-  )
-  Environment:
-
-Cost ( 0, 0, 0, 0, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?{}: function
-      ... with parameters
-        reference to instance of struct string with body
-        instance of struct string with body
-      ... returning nothing
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          instance of struct string with body
-        ... returning nothing
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          instance of struct string with body
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            instance of struct string with body
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      void
-  (types:
-    void
-  )
-  Environment:
-
-
-collections/string-operator.cfa:139:1 error: No alternatives for expression Name: s
Index: tests/collections/.expect/string-operator-ERR02.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR02.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ 	(revision )
@@ -1,126 +1,0 @@
-collections/string-operator.cfa:151:1 error: Cannot choose between 2 alternatives for expression
-Applying untyped:
-  Name: ?+?
-...to:
-  Applying untyped:
-    Name: ?+?
-  ...to:
-    Constant Expression ('a': char)
-    ... with resolved type:
-      char
-    Constant Expression ('b': char)
-    ... with resolved type:
-      char
-
-  Name: s0
- Alternatives are:
-Cost ( 0, 0, 0, 0, 0, 0, 0, 0 ): Application of
-      Variable Expression: ?+?: function
-      ... with parameters
-        char
-        instance of struct string with body
-      ... returning
-        instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          char
-          instance of struct string with body
-        ... returning
-          instance of struct string with body
-
-      ... to arguments
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          char
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            char
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        char
-      Variable Expression: s0: instance of struct string with body
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      instance of struct string with body
-  (types:
-    instance of struct string with body
-  )
-  Environment:
-
-Cost ( 0, 0, 0, 0, 0, 0, 0, 0 ): Application of
-      Variable Expression: ?+?: function
-      ... with parameters
-        instance of struct string with body
-        instance of struct string with body
-      ... returning
-        instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          instance of struct string with body
-          instance of struct string with body
-        ... returning
-          instance of struct string with body
-
-      ... to arguments
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          instance of struct string with body
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            instance of struct string with body
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        instance of struct string with body
-      Variable Expression: s0: instance of struct string with body
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      instance of struct string with body
-  (types:
-    instance of struct string with body
-  )
-  Environment:
-
-
-collections/string-operator.cfa:151:1 error: No alternatives for expression Name: s
Index: tests/collections/.expect/string-operator-ERR03.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR03.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ 	(revision )
@@ -1,149 +1,0 @@
-collections/string-operator.cfa:181:1 error: Cannot choose between 2 alternatives for expression
-Applying untyped:
-  Name: ?{}
-...to:
-  Generated Cast of:
-    Variable Expression: s: instance of struct string with body
-    ... with resolved type:
-      instance of struct string with body
-  ... to:
-    reference to instance of struct string with body
-  ... with resolved type:
-    reference to instance of struct string with body
-  Applying untyped:
-    Name: ?*?
-  ...to:
-    Constant Expression ('a': char)
-    ... with resolved type:
-      char
-    Constant Expression (3: signed int)
-    ... with resolved type:
-      signed int
-
- Alternatives are:
-Cost ( 0, 0, 0, 2, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?{}: function
-      ... with parameters
-        reference to instance of struct string with body
-        instance of struct string with body
-      ... returning nothing
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          instance of struct string with body
-        ... returning nothing
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?*?: function
-        ... with parameters
-          char
-          signed long long int
-        ... returning
-          instance of struct string with body
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            signed long long int
-          ... returning
-            instance of struct string with body
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Generated Cast of:
-          Constant Expression (3: signed int)
-          ... with resolved type:
-            signed int
-        ... to:
-          signed long long int
-        ... with resolved type:
-          signed long long int
-
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      void
-  (types:
-    void
-  )
-  Environment:
-
-Cost ( 0, 0, 0, 2, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?{}: static inline function
-      ... with parameters
-        reference to instance of struct string with body
-        signed int
-      ... returning nothing
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          signed int
-        ... returning nothing
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?*?: function
-        ... with parameters
-          signed int
-          signed int
-        ... returning
-          signed int
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            signed int
-            signed int
-          ... returning
-            signed int
-
-        ... to arguments
-        Generated Cast of:
-          Constant Expression ('a': char)
-          ... with resolved type:
-            char
-        ... to:
-          signed int
-        ... with resolved type:
-          signed int
-        Constant Expression (3: signed int)
-        ... with resolved type:
-          signed int
-
-      ... with resolved type:
-        signed int
-
-    ... with resolved type:
-      void
-  (types:
-    void
-  )
-  Environment:
-
-
-collections/string-operator.cfa:181:1 error: No alternatives for expression Name: s
Index: tests/collections/.expect/string-operator-ERR04.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR04.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ 	(revision )
@@ -1,149 +1,0 @@
-collections/string-operator.cfa:191:1 error: Cannot choose between 2 alternatives for expression
-Applying untyped:
-  Name: ?{}
-...to:
-  Generated Cast of:
-    Variable Expression: s: instance of struct string with body
-    ... with resolved type:
-      instance of struct string with body
-  ... to:
-    reference to instance of struct string with body
-  ... with resolved type:
-    reference to instance of struct string with body
-  Applying untyped:
-    Name: ?*?
-  ...to:
-    Constant Expression (3: signed int)
-    ... with resolved type:
-      signed int
-    Constant Expression ('a': char)
-    ... with resolved type:
-      char
-
- Alternatives are:
-Cost ( 0, 0, 0, 2, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?{}: function
-      ... with parameters
-        reference to instance of struct string with body
-        instance of struct string with body
-      ... returning nothing
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          instance of struct string with body
-        ... returning nothing
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?*?: static inline function
-        ... with parameters
-          signed long long int
-          char
-        ... returning
-          instance of struct string with body
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            signed long long int
-            char
-          ... returning
-            instance of struct string with body
-
-        ... to arguments
-        Generated Cast of:
-          Constant Expression (3: signed int)
-          ... with resolved type:
-            signed int
-        ... to:
-          signed long long int
-        ... with resolved type:
-          signed long long int
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      void
-  (types:
-    void
-  )
-  Environment:
-
-Cost ( 0, 0, 0, 2, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?{}: static inline function
-      ... with parameters
-        reference to instance of struct string with body
-        signed int
-      ... returning nothing
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          signed int
-        ... returning nothing
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?*?: function
-        ... with parameters
-          signed int
-          signed int
-        ... returning
-          signed int
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            signed int
-            signed int
-          ... returning
-            signed int
-
-        ... to arguments
-        Constant Expression (3: signed int)
-        ... with resolved type:
-          signed int
-        Generated Cast of:
-          Constant Expression ('a': char)
-          ... with resolved type:
-            char
-        ... to:
-          signed int
-        ... with resolved type:
-          signed int
-
-      ... with resolved type:
-        signed int
-
-    ... with resolved type:
-      void
-  (types:
-    void
-  )
-  Environment:
-
-
-collections/string-operator.cfa:191:1 error: No alternatives for expression Name: s
Index: tests/collections/.expect/string-operator-ERR05.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR05.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ 	(revision )
@@ -1,135 +1,0 @@
-collections/string-operator.cfa:207:1 error: Cannot choose between 2 alternatives for expression
-Applying untyped:
-  Name: ?=?
-...to:
-  Name: s
-  Applying untyped:
-    Name: ?+?
-  ...to:
-    Constant Expression ('a': char)
-    ... with resolved type:
-      char
-    Constant Expression ('b': char)
-    ... with resolved type:
-      char
-
- Alternatives are:
-Cost ( 0, 0, 0, 0, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?=?: function
-      ... with parameters
-        reference to instance of struct string with body
-        char
-      ... returning
-        reference to instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          char
-        ... returning
-          reference to instance of struct string with body
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          char
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            char
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        char
-
-    ... with resolved type:
-      reference to instance of struct string with body
-  (types:
-    reference to instance of struct string with body
-  )
-  Environment:
-
-Cost ( 0, 0, 0, 0, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?=?: function
-      ... with parameters
-        reference to instance of struct string with body
-        instance of struct string with body
-      ... returning
-        reference to instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          instance of struct string with body
-        ... returning
-          reference to instance of struct string with body
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          instance of struct string with body
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            instance of struct string with body
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      reference to instance of struct string with body
-  (types:
-    reference to instance of struct string with body
-  )
-  Environment:
-
-
Index: tests/collections/.expect/string-operator-ERR06.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR06.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ 	(revision )
@@ -1,125 +1,0 @@
-collections/string-operator.cfa:218:1 error: Cannot choose between 2 alternatives for expression
-Applying untyped:
-  Name: ?+?
-...to:
-  Applying untyped:
-    Name: ?+?
-  ...to:
-    Constant Expression ('a': char)
-    ... with resolved type:
-      char
-    Constant Expression ('b': char)
-    ... with resolved type:
-      char
-
-  Name: s
- Alternatives are:
-Cost ( 0, 0, 0, 0, 0, 0, 0, 0 ): Application of
-      Variable Expression: ?+?: function
-      ... with parameters
-        char
-        instance of struct string with body
-      ... returning
-        instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          char
-          instance of struct string with body
-        ... returning
-          instance of struct string with body
-
-      ... to arguments
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          char
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            char
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        char
-      Variable Expression: s: instance of struct string with body
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      instance of struct string with body
-  (types:
-    instance of struct string with body
-  )
-  Environment:
-
-Cost ( 0, 0, 0, 0, 0, 0, 0, 0 ): Application of
-      Variable Expression: ?+?: function
-      ... with parameters
-        instance of struct string with body
-        instance of struct string with body
-      ... returning
-        instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          instance of struct string with body
-          instance of struct string with body
-        ... returning
-          instance of struct string with body
-
-      ... to arguments
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          instance of struct string with body
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            instance of struct string with body
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        instance of struct string with body
-      Variable Expression: s: instance of struct string with body
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      instance of struct string with body
-  (types:
-    instance of struct string with body
-  )
-  Environment:
-
-
Index: tests/collections/.expect/string-operator-ERR07.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR07.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ 	(revision )
@@ -1,145 +1,0 @@
-collections/string-operator.cfa:251:1 error: Cannot choose between 2 alternatives for expression
-Applying untyped:
-  Name: ?=?
-...to:
-  Name: s
-  Applying untyped:
-    Name: ?*?
-  ...to:
-    Constant Expression ('a': char)
-    ... with resolved type:
-      char
-    Constant Expression (3: signed int)
-    ... with resolved type:
-      signed int
-
- Alternatives are:
-Cost ( 0, 0, 0, 2, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?=?: function
-      ... with parameters
-        reference to instance of struct string with body
-        instance of struct string with body
-      ... returning
-        reference to instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          instance of struct string with body
-        ... returning
-          reference to instance of struct string with body
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?*?: function
-        ... with parameters
-          char
-          signed long long int
-        ... returning
-          instance of struct string with body
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            signed long long int
-          ... returning
-            instance of struct string with body
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Generated Cast of:
-          Constant Expression (3: signed int)
-          ... with resolved type:
-            signed int
-        ... to:
-          signed long long int
-        ... with resolved type:
-          signed long long int
-
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      reference to instance of struct string with body
-  (types:
-    reference to instance of struct string with body
-  )
-  Environment:
-
-Cost ( 0, 0, 0, 2, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?=?: static inline function
-      ... with parameters
-        reference to instance of struct string with body
-        signed int
-      ... returning
-        reference to instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          signed int
-        ... returning
-          reference to instance of struct string with body
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?*?: function
-        ... with parameters
-          signed int
-          signed int
-        ... returning
-          signed int
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            signed int
-            signed int
-          ... returning
-            signed int
-
-        ... to arguments
-        Generated Cast of:
-          Constant Expression ('a': char)
-          ... with resolved type:
-            char
-        ... to:
-          signed int
-        ... with resolved type:
-          signed int
-        Constant Expression (3: signed int)
-        ... with resolved type:
-          signed int
-
-      ... with resolved type:
-        signed int
-
-    ... with resolved type:
-      reference to instance of struct string with body
-  (types:
-    reference to instance of struct string with body
-  )
-  Environment:
-
-
Index: tests/collections/.expect/string-operator-ERR08.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR08.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ 	(revision )
@@ -1,145 +1,0 @@
-collections/string-operator.cfa:262:1 error: Cannot choose between 2 alternatives for expression
-Applying untyped:
-  Name: ?=?
-...to:
-  Name: s
-  Applying untyped:
-    Name: ?*?
-  ...to:
-    Constant Expression (3: signed int)
-    ... with resolved type:
-      signed int
-    Constant Expression ('a': char)
-    ... with resolved type:
-      char
-
- Alternatives are:
-Cost ( 0, 0, 0, 2, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?=?: function
-      ... with parameters
-        reference to instance of struct string with body
-        instance of struct string with body
-      ... returning
-        reference to instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          instance of struct string with body
-        ... returning
-          reference to instance of struct string with body
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?*?: static inline function
-        ... with parameters
-          signed long long int
-          char
-        ... returning
-          instance of struct string with body
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            signed long long int
-            char
-          ... returning
-            instance of struct string with body
-
-        ... to arguments
-        Generated Cast of:
-          Constant Expression (3: signed int)
-          ... with resolved type:
-            signed int
-        ... to:
-          signed long long int
-        ... with resolved type:
-          signed long long int
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      reference to instance of struct string with body
-  (types:
-    reference to instance of struct string with body
-  )
-  Environment:
-
-Cost ( 0, 0, 0, 2, 0, 0, 0, 1 ): Application of
-      Variable Expression: ?=?: static inline function
-      ... with parameters
-        reference to instance of struct string with body
-        signed int
-      ... returning
-        reference to instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          reference to instance of struct string with body
-          signed int
-        ... returning
-          reference to instance of struct string with body
-
-      ... to arguments
-      Generated Cast of:
-        Variable Expression: s: instance of struct string with body
-        ... with resolved type:
-          instance of struct string with body
-      ... to:
-        reference to instance of struct string with body
-      ... with resolved type:
-        reference to instance of struct string with body
-      Application of
-        Variable Expression: ?*?: function
-        ... with parameters
-          signed int
-          signed int
-        ... returning
-          signed int
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            signed int
-            signed int
-          ... returning
-            signed int
-
-        ... to arguments
-        Constant Expression (3: signed int)
-        ... with resolved type:
-          signed int
-        Generated Cast of:
-          Constant Expression ('a': char)
-          ... with resolved type:
-            char
-        ... to:
-          signed int
-        ... with resolved type:
-          signed int
-
-      ... with resolved type:
-        signed int
-
-    ... with resolved type:
-      reference to instance of struct string with body
-  (types:
-    reference to instance of struct string with body
-  )
-  Environment:
-
-
Index: tests/collections/.expect/string-operator-ERR10.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR10.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ 	(revision )
@@ -1,125 +1,0 @@
-collections/string-operator.cfa:283:1 error: Cannot choose between 2 alternatives for expression
-Applying untyped:
-  Name: ?+?
-...to:
-  Applying untyped:
-    Name: ?+?
-  ...to:
-    Constant Expression ('a': char)
-    ... with resolved type:
-      char
-    Constant Expression ('b': char)
-    ... with resolved type:
-      char
-
-  Name: s
- Alternatives are:
-Cost ( 0, 0, 0, 0, 0, 0, 0, 0 ): Application of
-      Variable Expression: ?+?: function
-      ... with parameters
-        char
-        instance of struct string with body
-      ... returning
-        instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          char
-          instance of struct string with body
-        ... returning
-          instance of struct string with body
-
-      ... to arguments
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          char
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            char
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        char
-      Variable Expression: s: instance of struct string with body
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      instance of struct string with body
-  (types:
-    instance of struct string with body
-  )
-  Environment:
-
-Cost ( 0, 0, 0, 0, 0, 0, 0, 0 ): Application of
-      Variable Expression: ?+?: function
-      ... with parameters
-        instance of struct string with body
-        instance of struct string with body
-      ... returning
-        instance of struct string with body
-
-      ... with resolved type:
-        pointer to function
-        ... with parameters
-          instance of struct string with body
-          instance of struct string with body
-        ... returning
-          instance of struct string with body
-
-      ... to arguments
-      Application of
-        Variable Expression: ?+?: function
-        ... with parameters
-          char
-          char
-        ... returning
-          instance of struct string with body
-
-        ... with resolved type:
-          pointer to function
-          ... with parameters
-            char
-            char
-          ... returning
-            instance of struct string with body
-
-        ... to arguments
-        Constant Expression ('a': char)
-        ... with resolved type:
-          char
-        Constant Expression ('b': char)
-        ... with resolved type:
-          char
-
-      ... with resolved type:
-        instance of struct string with body
-      Variable Expression: s: instance of struct string with body
-      ... with resolved type:
-        instance of struct string with body
-
-    ... with resolved type:
-      instance of struct string with body
-  (types:
-    instance of struct string with body
-  )
-  Environment:
-
-
Index: tests/collections/.expect/string-operator.txt
===================================================================
--- tests/collections/.expect/string-operator.txt	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ tests/collections/.expect/string-operator.txt	(revision d03a386f1d6cd83b3e5eabdfdeb1a1a6903d70e6)
@@ -3,4 +3,66 @@
 
 ------------- Initialization
+ab
+ab
+ab
+ab
+
+abx
+abx
+abx
+abx
+
+xab
+xab
+xab
+xab
+
+axb
+axb
+axb
+axb
+
+aaa
+bbb
+ababab
+cdcdcd
+
+aaa
+bbb
+ababab
+cdcdcd
+
+------------- Assignment
+ab
+ab
+ab
+ab
+
+ab
+abab
+ababab
+abababab
+
+ab
+abab
+ababab
+abababab
+
+ab
+aabb
+aaabbb
+aaaabbbb
+
+aaa
+bbb
+ababab
+cdcdcd
+
+aaa
+bbb
+ababab
+cdcdcd
+
+------------- Bare (sout-direct)
 (skip)
 ab
@@ -8,5 +70,5 @@
 ab
 
-(skip)
+abx
 abx
 abx
@@ -25,72 +87,10 @@
 (skip)
 bbb
-585
+ababab
 cdcdcd
 
 (skip)
 bbb
-585
-cdcdcd
-
-------------- Assignment
-(skip)
-ab
-ab
-ab
-
-(skip)
-ab
-abab
 ababab
-
-ab
-abab
-ababab
-abababab
-
-ab
-aabb
-aaabbb
-aaaabbbb
-
-(skip)
-bbb
-585
-cdcdcd
-
-(skip)
-bbb
-585
-cdcdcd
-
-------------- Bare (sout-direct)
-(skip)
-ab
-ab
-ab
-
-(skip)
-abx
-abx
-abx
-
-xab
-xab
-xab
-xab
-
-axb
-axb
-axb
-axb
-
-(skip)
-bbb
-585
-cdcdcd
-
-(skip)
-bbb
-585
 cdcdcd
 
Index: tests/collections/string-operator.cfa
===================================================================
--- tests/collections/string-operator.cfa	(revision 570e7ad00de8288cde75cec124f5ec3910662225)
+++ tests/collections/string-operator.cfa	(revision d03a386f1d6cd83b3e5eabdfdeb1a1a6903d70e6)
@@ -9,14 +9,5 @@
 
 // These MR points do reject in the current revision, so they have satellite "-ERR" cases:
-// MR01
-// MR02
-// MR03
-// MR04
-// MR05
-// MR06
-// MR07
-// MR08
 // MR09
-// MR10
 // MR11
 // MR13
@@ -25,4 +16,13 @@
 
 // These MR points do not reject in the current revision, so they join the "happy run":
+#define TRY_MR01
+#define TRY_MR02
+#define TRY_MR03
+#define TRY_MR04
+#define TRY_MR05
+#define TRY_MR06
+#define TRY_MR07
+#define TRY_MR08
+#define TRY_MR10
 #define TRY_MR12
 #define TRY_MR14
@@ -137,5 +137,5 @@
 
         sout | "------------- Initialization";
-MR01(  {string s = 'a' + 'b';           // (ambiguous)
+MR01(  {string s = 'a' + 'b';           // ab
         sout | s;}              )
        {string s = 'a' + "b";           // ab
@@ -149,5 +149,5 @@
         string s0 = "x";
 
-MR02(  {string s = 'a' + 'b' + s0;      // (ambiguous)
+MR02(  {string s = 'a' + 'b' + s0;      // abx
         sout | s;}              )
        {string s = 'a' + "b" + s0;      // abx
@@ -179,9 +179,9 @@
         sout | nl;                      //
 
-MR03(  {string s = 'a' * 3;             // (ambiguous)
+MR03(  {string s = 'a' * 3;             // aaa
         sout | s;}              )
        {string s = "b" * 3;             // bbb
         sout | s;}
-       {string s = ('a' + 'b') * 3;     // ÃÃÃ (expecting ambiguous, likely from #309)
+       {string s = ('a' + 'b') * 3;     // ababab
         sout | s;}
        {string s = ('c' + "d") * 3;     // cdcdcd
@@ -189,5 +189,5 @@
         sout | nl;                      //
 
-MR04(  {string s = 3 * 'a';             // (ambiguous)
+MR04(  {string s = 3 * 'a';             // aaa
         sout | s;}              )
        {string s = 3 * "b";             // bbb
@@ -205,5 +205,5 @@
 
         s = "";
-MR05(   s = 'a' + 'b';          // (ambiguous)
+MR05(   s = 'a' + 'b';          // ab
         sout | s;              )
         s = 'a' + "b";          // ab
@@ -216,11 +216,11 @@
 
         s = "";
-MR06(   s = 'a' + 'b' + s;      // (ambiguous)
+MR06(   s = 'a' + 'b' + s;      // ab
         sout | s;              )
-        s = 'a' + "b" + s;      // ab
-        sout | s;
-        s = "a" + 'b' + s;      // abab
-        sout | s;
-        s = "a" + "b" + s;      // ababab
+        s = 'a' + "b" + s;      // abab
+        sout | s;
+        s = "a" + 'b' + s;      // ababab
+        sout | s;
+        s = "a" + "b" + s;      // abababab
         sout | s;
         sout | nl;              //
@@ -249,9 +249,9 @@
 
         s = "";
-MR07(   s = 'a' * 3;            // (ambiguous)
+MR07(   s = 'a' * 3;            // aaa
         sout | s;              )
         s = "b" * 3;            // bbb
         sout | s;
-        s = ('a' + 'b') * 3;    // ÃÃÃ (expecting ambiguous, likely from #309)
+        s = ('a' + 'b') * 3;    // ababab
         sout | s;
         s = ('c' + "d") * 3;    // cdcdcd
@@ -260,5 +260,5 @@
 
         s = "";
-MR08(   s = 3 * 'a';            // (ambiguous)
+MR08(   s = 3 * 'a';            // aaa
         sout | s;              )
         s = 3 * "b";            // bbb
@@ -281,5 +281,5 @@
         sout | nl;                  //
 
-MR10(   sout | 'a' + 'b' + s;  )    // (ambiguous)
+MR10(   sout | 'a' + 'b' + s;  )    // abx
         sout | 'a' + "b" + s;       // abx
         sout | "a" + 'b' + s;       // abx
@@ -301,5 +301,5 @@
 MR11(   sout | 'a' * 3;          )  // (ambiguous)
         sout | "b" * 3;             // bbb
-MR12(   sout | ('a' + 'b') * 3;  )  // 585 (expecting ambiguous, likely from #309)
+MR12(   sout | ('a' + 'b') * 3;  )  // ababab (ideally ambiguous, known approximation flaw)
         sout | ('c' + "d") * 3;     // cdcdcd
         sout | nl;                  //
@@ -307,5 +307,5 @@
 MR13(   sout | 3 * 'a';          )  // (ambiguous)
         sout | 3 * "b";             // bbb
-MR14(   sout | 3 * ('a' + 'b');  )  // 585 (expecting ambiguous, likely from #309)
+MR14(   sout | 3 * ('a' + 'b');  )  // ababab (ideally ambiguous, known approximation flaw)
         sout | 3 * ('c' + "d");     // cdcdcd
         sout | nl;                  //
