Index: tests/Makefile.am
===================================================================
--- tests/Makefile.am	(revision d1757672712417b16598464c053288dcfff22d7e)
+++ tests/Makefile.am	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -288,4 +288,8 @@
 	-cp ${test} ${abspath ${@}}
 
+collections/string-operator-ERR09 : collections/string-operator.cfa
+	${CFACOMPILE_SYNTAX} -DTRY_MR09
+	-cp ${test} ${abspath ${@}}
+
 collections/string-operator-ERR15 : collections/string-operator.cfa
 	${CFACOMPILE_SYNTAX} -DTRY_MR15
Index: tests/collections/.expect/string-operator-ERR09.txt
===================================================================
--- tests/collections/.expect/string-operator-ERR09.txt	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
+++ tests/collections/.expect/string-operator-ERR09.txt	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -0,0 +1,3185 @@
+collections/string-operator.cfa:277:1 error: Cannot choose between 4 alternatives for expression
+Applying untyped:
+  Name: ?|?
+...to:
+  Name: sout
+  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, 1, 0, 0, 1, -24, 0 ): Application of
+      Variable Expression: ?|?: forall
+        instance of type ostype (not function type)
+        with assertions
+        Variable Expression: sepPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepReset$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sepReset$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning nothing
+
+        Variable Expression: sepGetCur$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSetCur$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: getNL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setNL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: getANL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setANL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: getPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: nlOn: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: nlOff: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sep: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: nosep: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sepOn: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepOff: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepGet: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSet: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: sepGetTuple: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSetTuple: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: ends: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: fmt: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+          and a variable number of other arguments
+        ... returning
+          signed int
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+            and a variable number of other arguments
+          ... returning
+            signed int
+
+        function
+      ... with parameters
+        reference to instance of type ostype (not function type)
+        char
+      ... returning
+        reference to instance of type ostype (not function type)
+
+      ... with resolved type:
+        pointer to forall
+          instance of type [unbound] (not function type)
+          with assertions
+          Variable Expression: sepPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepReset$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sepReset$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning nothing
+
+          Variable Expression: sepGetCur$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSetCur$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: getNL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setNL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: getANL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setANL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: getPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: nlOn: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: nlOff: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sep: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: nosep: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sepOn: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepOff: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepGet: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSet: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: sepGetTuple: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSetTuple: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: ends: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: fmt: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+            and a variable number of other arguments
+          ... returning
+            signed int
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+              and a variable number of other arguments
+            ... returning
+              signed int
+
+          function
+        ... with parameters
+          reference to instance of type [unbound] (not function type)
+          char
+        ... returning
+          reference to instance of type [unbound] (not function type)
+
+      ... to arguments
+      Variable Expression: sout: extern reference to instance of struct ofstream with body
+      ... with resolved type:
+        reference to instance of struct ofstream 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 inferred parameters 0:
+      sepPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepReset$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sepReset$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning nothing
+
+      sepGetCur$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSetCur$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      getNL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setNL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      getANL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setANL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      getPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      nlOn: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      nlOff: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sep: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      nosep: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sepOn: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepOff: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepGet: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSet: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      sepGetTuple: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSetTuple: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      ends: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      fmt: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+        and a variable number of other arguments
+      ... returning
+        signed int
+
+
+    ... with resolved type:
+      reference to instance of type [unbound] (not function type)
+  (types:
+    reference to instance of type [unbound] (not function type)
+  )
+  Environment:([unbound]ostype) -> instance of struct ofstream with body (no widening)
+
+
+Cost ( 0, 0, 1, 0, 0, 1, -24, 0 ): Application of
+      Variable Expression: ?|?: forall
+        instance of type ostype (not function type)
+        with assertions
+        Variable Expression: sepPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepReset$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sepReset$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning nothing
+
+        Variable Expression: sepGetCur$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSetCur$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: getNL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setNL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: getANL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setANL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: getPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: nlOn: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: nlOff: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sep: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: nosep: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sepOn: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepOff: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepGet: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSet: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: sepGetTuple: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSetTuple: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: ends: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: fmt: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+          and a variable number of other arguments
+        ... returning
+          signed int
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+            and a variable number of other arguments
+          ... returning
+            signed int
+
+        function
+      ... with parameters
+        reference to instance of type ostype (not function type)
+        char
+      ... returning nothing
+
+      ... with resolved type:
+        pointer to forall
+          instance of type [unbound] (not function type)
+          with assertions
+          Variable Expression: sepPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepReset$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sepReset$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning nothing
+
+          Variable Expression: sepGetCur$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSetCur$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: getNL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setNL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: getANL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setANL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: getPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: nlOn: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: nlOff: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sep: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: nosep: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sepOn: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepOff: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepGet: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSet: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: sepGetTuple: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSetTuple: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: ends: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: fmt: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+            and a variable number of other arguments
+          ... returning
+            signed int
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+              and a variable number of other arguments
+            ... returning
+              signed int
+
+          function
+        ... with parameters
+          reference to instance of type [unbound] (not function type)
+          char
+        ... returning nothing
+
+      ... to arguments
+      Variable Expression: sout: extern reference to instance of struct ofstream with body
+      ... with resolved type:
+        reference to instance of struct ofstream 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 inferred parameters 0:
+      sepPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepReset$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sepReset$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning nothing
+
+      sepGetCur$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSetCur$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      getNL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setNL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      getANL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setANL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      getPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      nlOn: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      nlOff: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sep: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      nosep: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sepOn: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepOff: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepGet: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSet: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      sepGetTuple: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSetTuple: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      ends: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      fmt: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+        and a variable number of other arguments
+      ... returning
+        signed int
+
+
+    ... with resolved type:
+      void
+  (types:
+    void
+  )
+  Environment:([unbound]ostype) -> instance of struct ofstream with body (no widening)
+
+
+Cost ( 0, 0, 1, 0, 0, 1, -24, 0 ): Application of
+      Variable Expression: ?|?: forall
+        instance of type ostype (not function type)
+        with assertions
+        Variable Expression: sepPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepReset$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sepReset$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning nothing
+
+        Variable Expression: sepGetCur$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSetCur$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: getNL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setNL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: getANL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setANL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: getPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: nlOn: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: nlOff: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sep: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: nosep: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sepOn: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepOff: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepGet: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSet: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: sepGetTuple: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSetTuple: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: ends: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: fmt: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+          and a variable number of other arguments
+        ... returning
+          signed int
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+            and a variable number of other arguments
+          ... returning
+            signed int
+
+        function
+      ... with parameters
+        reference to instance of type ostype (not function type)
+        instance of struct string with body
+      ... returning
+        reference to instance of type ostype (not function type)
+
+      ... with resolved type:
+        pointer to forall
+          instance of type [unbound] (not function type)
+          with assertions
+          Variable Expression: sepPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepReset$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sepReset$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning nothing
+
+          Variable Expression: sepGetCur$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSetCur$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: getNL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setNL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: getANL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setANL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: getPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: nlOn: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: nlOff: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sep: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: nosep: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sepOn: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepOff: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepGet: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSet: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: sepGetTuple: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSetTuple: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: ends: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: fmt: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+            and a variable number of other arguments
+          ... returning
+            signed int
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+              and a variable number of other arguments
+            ... returning
+              signed int
+
+          function
+        ... with parameters
+          reference to instance of type [unbound] (not function type)
+          instance of struct string with body
+        ... returning
+          reference to instance of type [unbound] (not function type)
+
+      ... to arguments
+      Variable Expression: sout: extern reference to instance of struct ofstream with body
+      ... with resolved type:
+        reference to instance of struct ofstream 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 inferred parameters 0:
+      sepPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepReset$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sepReset$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning nothing
+
+      sepGetCur$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSetCur$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      getNL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setNL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      getANL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setANL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      getPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      nlOn: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      nlOff: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sep: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      nosep: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sepOn: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepOff: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepGet: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSet: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      sepGetTuple: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSetTuple: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      ends: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      fmt: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+        and a variable number of other arguments
+      ... returning
+        signed int
+
+
+    ... with resolved type:
+      reference to instance of type [unbound] (not function type)
+  (types:
+    reference to instance of type [unbound] (not function type)
+  )
+  Environment:([unbound]ostype) -> instance of struct ofstream with body (no widening)
+
+
+Cost ( 0, 0, 1, 0, 0, 1, -24, 0 ): Application of
+      Variable Expression: ?|?: forall
+        instance of type ostype (not function type)
+        with assertions
+        Variable Expression: sepPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepReset$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sepReset$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning nothing
+
+        Variable Expression: sepGetCur$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSetCur$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: getNL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setNL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: getANL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setANL$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: getPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: setPrt$: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          _Bool
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+        Variable Expression: nlOn: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: nlOff: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sep: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: nosep: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: sepOn: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepOff: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          _Bool
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+        Variable Expression: sepGet: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSet: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: sepGetTuple: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning
+          pointer to const char
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+        Variable Expression: sepSetTuple: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+        Variable Expression: ends: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+        ... returning nothing
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+        Variable Expression: fmt: pointer to function
+        ... with parameters
+          reference to instance of type ostype (not function type)
+          pointer to const char
+          and a variable number of other arguments
+        ... returning
+          signed int
+
+        ... with resolved type:
+          pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+            and a variable number of other arguments
+          ... returning
+            signed int
+
+        function
+      ... with parameters
+        reference to instance of type ostype (not function type)
+        instance of struct string with body
+      ... returning nothing
+
+      ... with resolved type:
+        pointer to forall
+          instance of type [unbound] (not function type)
+          with assertions
+          Variable Expression: sepPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepReset$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sepReset$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning nothing
+
+          Variable Expression: sepGetCur$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSetCur$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: getNL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setNL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: getANL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setANL$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: getPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: setPrt$: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            _Bool
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              _Bool
+            ... returning
+              _Bool
+
+          Variable Expression: nlOn: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: nlOff: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sep: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: nosep: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: sepOn: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepOff: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            _Bool
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              _Bool
+
+          Variable Expression: sepGet: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSet: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: sepGetTuple: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning
+            pointer to const char
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning
+              pointer to const char
+
+          Variable Expression: sepSetTuple: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+            ... returning nothing
+
+          Variable Expression: ends: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+          ... returning nothing
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+            ... returning nothing
+
+          Variable Expression: fmt: pointer to function
+          ... with parameters
+            reference to instance of type ostype (not function type)
+            pointer to const char
+            and a variable number of other arguments
+          ... returning
+            signed int
+
+          ... with resolved type:
+            pointer to function
+            ... with parameters
+              reference to instance of type [unbound] (not function type)
+              pointer to const char
+              and a variable number of other arguments
+            ... returning
+              signed int
+
+          function
+        ... with parameters
+          reference to instance of type [unbound] (not function type)
+          instance of struct string with body
+        ... returning nothing
+
+      ... to arguments
+      Variable Expression: sout: extern reference to instance of struct ofstream with body
+      ... with resolved type:
+        reference to instance of struct ofstream 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 inferred parameters 0:
+      sepPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepReset$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sepReset$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning nothing
+
+      sepGetCur$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSetCur$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      getNL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setNL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      getANL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setANL$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      getPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      setPrt$: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        _Bool
+      ... returning
+        _Bool
+
+      nlOn: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      nlOff: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sep: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      nosep: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      sepOn: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepOff: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        _Bool
+
+      sepGet: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSet: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      sepGetTuple: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning
+        pointer to const char
+
+      sepSetTuple: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+      ... returning nothing
+
+      ends: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+      ... returning nothing
+
+      fmt: function
+      ... with parameters
+        reference to instance of struct ofstream with body
+        pointer to const char
+        and a variable number of other arguments
+      ... returning
+        signed int
+
+
+    ... with resolved type:
+      void
+  (types:
+    void
+  )
+  Environment:([unbound]ostype) -> instance of struct ofstream with body (no widening)
+
+
+
Index: tests/collections/.expect/string-operator.txt
===================================================================
--- tests/collections/.expect/string-operator.txt	(revision d1757672712417b16598464c053288dcfff22d7e)
+++ tests/collections/.expect/string-operator.txt	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -65,5 +65,5 @@
 
 ------------- Bare (sout-direct)
-ab
+(skip)
 ab
 ab
@@ -85,12 +85,12 @@
 axb
 
-aaa
+291
 bbb
-ÃÃÃ
+585
 cdcdcd
 
 291
 bbb
-ababab
+585
 cdcdcd
 
Index: tests/collections/string-api-coverage.cfa
===================================================================
--- tests/collections/string-api-coverage.cfa	(revision d1757672712417b16598464c053288dcfff22d7e)
+++ tests/collections/string-api-coverage.cfa	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -1,4 +1,5 @@
-#include <collections/string.hfa>
+#include <string.hfa>
 #include <string_sharectx.hfa>
+#include <fstream.hfa>
 
 
Index: tests/collections/string-ctx-manage.cfa
===================================================================
--- tests/collections/string-ctx-manage.cfa	(revision d1757672712417b16598464c053288dcfff22d7e)
+++ tests/collections/string-ctx-manage.cfa	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -2,4 +2,5 @@
 #include <string_sharectx.hfa>
 #include <string_res.hfa>
+#include <fstream.hfa>
 
 // In these tests, shared heaps are never remotely full and string sizes are tiny.
Index: tests/collections/string-gc.cfa
===================================================================
--- tests/collections/string-gc.cfa	(revision d1757672712417b16598464c053288dcfff22d7e)
+++ tests/collections/string-gc.cfa	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -1,3 +1,4 @@
 #include <string_res.hfa>
+#include <fstream.hfa>
 
 size_t bytesRemaining() {
Index: tests/collections/string-istream-manip.cfa
===================================================================
--- tests/collections/string-istream-manip.cfa	(revision d1757672712417b16598464c053288dcfff22d7e)
+++ tests/collections/string-istream-manip.cfa	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -1,6 +1,6 @@
 
 #include <fstream.hfa>
-#include <collections/string.hfa>
-#include <collections/string_res.hfa>
+#include <string.hfa>
+#include <string_res.hfa>
 #include <stdio.h>
 
Index: tests/collections/string-istream.cfa
===================================================================
--- tests/collections/string-istream.cfa	(revision d1757672712417b16598464c053288dcfff22d7e)
+++ tests/collections/string-istream.cfa	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -1,5 +1,5 @@
-#include <iostream.hfa>
-#include <collections/string.hfa>
-#include <collections/string_res.hfa>
+#include <fstream.hfa>
+#include <string.hfa>
+#include <string_res.hfa>
 
 
Index: tests/collections/string-operator.cfa
===================================================================
--- tests/collections/string-operator.cfa	(revision d1757672712417b16598464c053288dcfff22d7e)
+++ tests/collections/string-operator.cfa	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -9,4 +9,5 @@
 
 // These MR points do reject in the current revision, so they have satellite "-ERR" cases:
+// MR09
 // MR15
 
@@ -20,5 +21,4 @@
 #define TRY_MR07
 #define TRY_MR08
-#define TRY_MR09
 #define TRY_MR10
 #define TRY_MR11
@@ -275,5 +275,5 @@
         s = "x";
 
-MR09(   sout | 'a' + 'b';      )    // ab
+MR09(   sout | 'a' + 'b';      )    // (ambiguous)
         sout | 'a' + "b";           // ab
         sout | "a" + 'b';           // ab
@@ -299,7 +299,7 @@
         sout | nl;                  //
 
-MR11(   sout | 'a' * 3;          )  // aaa
+MR11(   sout | 'a' * 3;          )  // 291
         sout | "b" * 3;             // bbb
-MR12(   sout | ('a' + 'b') * 3;  )  // ÃÃÃ
+MR12(   sout | ('a' + 'b') * 3;  )  // 585
         sout | ('c' + "d") * 3;     // cdcdcd
         sout | nl;                  //
@@ -307,5 +307,5 @@
 MR13(   sout | 3 * 'a';          )  // 291
         sout | 3 * "b";             // bbb
-MR14(   sout | 3 * ('a' + 'b');  )  // ababab
+MR14(   sout | 3 * ('a' + 'b');  )  // 585
         sout | 3 * ('c' + "d");     // cdcdcd
         sout | nl;                  //
Index: tests/collections/string-overwrite.cfa
===================================================================
--- tests/collections/string-overwrite.cfa	(revision d1757672712417b16598464c053288dcfff22d7e)
+++ tests/collections/string-overwrite.cfa	(revision 3f631d63dc8a3d8d5bd5e664c971d336878cb507)
@@ -1,4 +1,5 @@
-#include <collections/string.hfa>
+#include <string.hfa>
 #include <string_sharectx.hfa>
+#include <fstream.hfa>
 
 /*
