Index: src/Tests/Expect-e/Members.txt
===================================================================
--- src/Tests/Expect-e/Members.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-e/Members.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,674 @@
+?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+*?: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      pointer to instance of type T (not function type) 
+    returning 
+      lvalue instance of type T (not function type) 
+
+__builtin_memcpy: function
+      accepting unspecified arguments
+    returning 
+      pointer to char 
+
+a: function
+    with parameters
+      char 
+    returning 
+      nothing 
+
+b: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+c: function
+    with parameters
+      pointer to signed int 
+    returning 
+      nothing 
+
+d: function
+    with parameters
+      pointer to float 
+    returning 
+      nothing 
+
+struct a_struct
+    with members
+      a: signed int 
+      a: char 
+      a: float 
+
+?=?: automatically generated inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+    with body 
+      CompoundStmt
+                  Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+                  with parameters
+                    pointer to signed int 
+                    signed int 
+                  returning 
+                    signed int 
+
+            to arguments
+                              Address of:
+                  Member Expression, with field: 
+                    a: signed int 
+                  from aggregate: 
+                    Applying untyped: 
+                        Name: *?
+                    ...to: 
+                        Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                              Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Variable Expression: _src: instance of struct a_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+                  with parameters
+                    pointer to char 
+                    char 
+                  returning 
+                    char 
+
+            to arguments
+                              Address of:
+                  Member Expression, with field: 
+                    a: char 
+                  from aggregate: 
+                    Applying untyped: 
+                        Name: *?
+                    ...to: 
+                        Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                              Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Variable Expression: _src: instance of struct a_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+                  with parameters
+                    pointer to float 
+                    float 
+                  returning 
+                    float 
+
+            to arguments
+                              Address of:
+                  Member Expression, with field: 
+                    a: float 
+                  from aggregate: 
+                    Applying untyped: 
+                        Name: *?
+                    ...to: 
+                        Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                              Member Expression, with field: 
+                  a: float 
+                from aggregate: 
+                  Variable Expression: _src: instance of struct a_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct a_struct 
+
+to:
+  instance of struct a_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+union b_struct
+    with members
+      a: pointer to signed int 
+      a: pointer to char 
+      a: pointer to float 
+
+?=?: automatically generated inline static function
+    with parameters
+      _dst: pointer to instance of union b_struct 
+      _src: instance of union b_struct 
+    returning 
+      instance of union b_struct 
+    with body 
+      CompoundStmt
+                  Expression Statement:
+            Application of
+              Variable Expression: __builtin_memcpy: function
+                    accepting unspecified arguments
+                  returning 
+                    pointer to char 
+
+            to arguments
+                              Variable Expression: _dst: pointer to instance of union b_struct 
+
+                              Address of:
+                  Variable Expression: _src: instance of union b_struct 
+
+                              Sizeof Expression on: instance of union b_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of union b_struct 
+
+to:
+  instance of union b_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      CompoundStmt
+        Declaration of the_struct: instance of struct a_struct 
+        Declaration of the_struct: instance of union b_struct 
+                  Expression Statement:
+            Application of
+              Variable Expression: a: function
+                  with parameters
+                    char 
+                  returning 
+                    nothing 
+
+            to arguments
+                              Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Variable Expression: the_struct: instance of struct a_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: b: function
+                  with parameters
+                    signed int 
+                  returning 
+                    nothing 
+
+            to arguments
+                              Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Variable Expression: the_struct: instance of struct a_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: c: function
+                  with parameters
+                    pointer to signed int 
+                  returning 
+                    nothing 
+
+            to arguments
+                              Member Expression, with field: 
+                  a: pointer to signed int 
+                from aggregate: 
+                  Variable Expression: the_struct: instance of union b_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: d: function
+                  with parameters
+                    pointer to float 
+                  returning 
+                    nothing 
+
+            to arguments
+                              Member Expression, with field: 
+                  a: pointer to float 
+                from aggregate: 
+                  Variable Expression: the_struct: instance of union b_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+
+struct c_struct
+    with members
+      signed int 
+      char 
+      float 
+
+?=?: automatically generated inline static function
+    with parameters
+      _dst: pointer to instance of struct c_struct 
+      _src: instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+    with body 
+      CompoundStmt
+                  Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+                  with parameters
+                    pointer to signed int 
+                    signed int 
+                  returning 
+                    signed int 
+
+            to arguments
+                              Address of:
+                  Member Expression, with field: 
+                    signed int 
+                  from aggregate: 
+                    Applying untyped: 
+                        Name: *?
+                    ...to: 
+                        Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                              Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Variable Expression: _src: instance of struct c_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+                  with parameters
+                    pointer to char 
+                    char 
+                  returning 
+                    char 
+
+            to arguments
+                              Address of:
+                  Member Expression, with field: 
+                    char 
+                  from aggregate: 
+                    Applying untyped: 
+                        Name: *?
+                    ...to: 
+                        Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                              Member Expression, with field: 
+                  char 
+                from aggregate: 
+                  Variable Expression: _src: instance of struct c_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+                  with parameters
+                    pointer to float 
+                    float 
+                  returning 
+                    float 
+
+            to arguments
+                              Address of:
+                  Member Expression, with field: 
+                    float 
+                  from aggregate: 
+                    Applying untyped: 
+                        Name: *?
+                    ...to: 
+                        Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                              Member Expression, with field: 
+                  float 
+                from aggregate: 
+                  Variable Expression: _src: instance of struct c_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct c_struct 
+
+to:
+  instance of struct c_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+union d_struct
+    with members
+      pointer to signed int 
+      pointer to char 
+      pointer to float 
+
+?=?: automatically generated inline static function
+    with parameters
+      _dst: pointer to instance of union d_struct 
+      _src: instance of union d_struct 
+    returning 
+      instance of union d_struct 
+    with body 
+      CompoundStmt
+                  Expression Statement:
+            Application of
+              Variable Expression: __builtin_memcpy: function
+                    accepting unspecified arguments
+                  returning 
+                    pointer to char 
+
+            to arguments
+                              Variable Expression: _dst: pointer to instance of union d_struct 
+
+                              Address of:
+                  Variable Expression: _src: instance of union d_struct 
+
+                              Sizeof Expression on: instance of union d_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of union d_struct 
+
+to:
+  instance of union d_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+g: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      CompoundStmt
+        Declaration of x: short unsigned int 
+        Declaration of x: instance of struct c_struct 
+        Declaration of x: instance of union d_struct 
+                  Expression Statement:
+            Application of
+              Variable Expression: a: function
+                  with parameters
+                    char 
+                  returning 
+                    nothing 
+
+            to arguments
+                              Cast of:
+                  Variable Expression: x: short unsigned int 
+
+                to:
+                  char 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: b: function
+                  with parameters
+                    signed int 
+                  returning 
+                    nothing 
+
+            to arguments
+                              Cast of:
+                  Variable Expression: x: short unsigned int 
+
+                to:
+                  signed int 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: c: function
+                  with parameters
+                    pointer to signed int 
+                  returning 
+                    nothing 
+
+            to arguments
+                              Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Variable Expression: x: instance of union d_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Expression Statement:
+            Application of
+              Variable Expression: d: function
+                  with parameters
+                    pointer to float 
+                  returning 
+                    nothing 
+
+            to arguments
+                              Member Expression, with field: 
+                  pointer to float 
+                from aggregate: 
+                  Variable Expression: x: instance of union d_struct 
+
+            with environment:
+              Types:
+              Non-types:
+
+
+struct forward
+q: pointer to instance of struct forward 
+struct forward
+    with members
+      y: signed int 
+
+?=?: automatically generated inline static function
+    with parameters
+      _dst: pointer to instance of struct forward 
+      _src: instance of struct forward 
+    returning 
+      instance of struct forward 
+    with body 
+      CompoundStmt
+                  Expression Statement:
+            Application of
+              Variable Expression: ?=?: function
+                  with parameters
+                    pointer to signed int 
+                    signed int 
+                  returning 
+                    signed int 
+
+            to arguments
+                              Address of:
+                  Member Expression, with field: 
+                    y: signed int 
+                  from aggregate: 
+                    Applying untyped: 
+                        Name: *?
+                    ...to: 
+                        Variable Expression: _dst: pointer to instance of struct forward 
+
+                              Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Variable Expression: _src: instance of struct forward 
+
+            with environment:
+              Types:
+              Non-types:
+
+                  Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct forward 
+
+to:
+  instance of struct forward 
+with environment:
+  Types:
+  Non-types:
+
+
+
+h: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+    with body 
+      CompoundStmt
+                  Expression Statement:
+            Member Expression, with field: 
+              y: signed int 
+            from aggregate: 
+              Application of
+                Variable Expression: *?: forall
+                      T: type
+                        with assertions
+                          ?=?: pointer to function
+                              with parameters
+                                pointer to instance of type T (not function type) 
+                                instance of type T (not function type) 
+                              returning 
+                                instance of type T (not function type) 
+
+
+                    function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                    returning 
+                      lvalue instance of type T (not function type) 
+
+              to arguments
+                                  Variable Expression: q: pointer to instance of struct forward 
+
+              with inferred parameters:
+                ?=?: inline static function
+                  with parameters
+                    _dst: pointer to instance of struct forward 
+                    _src: instance of struct forward 
+                  returning 
+                    instance of struct forward 
+
+            with environment:
+              Types:
+              Non-types:
+
+
+Error: unbound type variable in application Application of
+  Variable Expression: *?: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        pointer to instance of type T (not function type) 
+      returning 
+        pointer to instance of type T (not function type) 
+
+to arguments
+      Variable Expression: q: pointer to instance of struct forward 
+
+with inferred parameters:
+  ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct forward 
+      _src: instance of struct forward 
+    returning 
+      instance of struct forward 
+
+
