context has_q
    with parameters
      T: type

    with members
      q: function
          with parameters
            instance of type T (not function type) 
          returning 
            instance of type T (not function type) 


f: forall
      z: type
        with assertions
          ?=?: pointer to function
              with parameters
                pointer to instance of type z (not function type) 
                instance of type z (not function type) 
              returning 
                instance of type z (not function type) 

          q: pointer to function
              with parameters
                instance of type z (not function type) 
              returning 
                instance of type z (not function type) 


    function
      accepting unspecified arguments
    returning 
      nothing 
    with body 
      CompoundStmt
        Declaration of context has_r
            with parameters
              T: type
              U: type

            with members
              r: function
                  with parameters
                    instance of type T (not function type) 
                    pointer to function
                        with parameters
                          instance of type T (not function type) 
                          instance of type U (not function type) 
                        returning 
                          instance of type T (not function type) 

                  returning 
                    instance of type T (not function type) 


        Declaration of x: extern type
        Declaration of ?=?: automatically generated function
            with parameters
              _dst: pointer to instance of type x (not function type) 
              _src: instance of type x (not function type) 
            returning 
              instance of type x (not function type) 

        Declaration of y: extern type
          with assertions
            instance of context has_r 
              with parameters
                instance of type x (not function type) 
                instance of type y (not function type) 


        Declaration of ?=?: automatically generated function
            with parameters
              _dst: pointer to instance of type y (not function type) 
              _src: instance of type y (not function type) 
            returning 
              instance of type y (not function type) 


