a: signed int 
a: float 
f: function
    with parameters
      signed int 
    returning 
      signed int 

f: function
    with parameters
      float 
    returning 
      float 

g: function
      accepting unspecified arguments
    returning 
      void 
    with body 
      CompoundStmt
                  Expression Statement:
            Applying untyped: 
                Name: f
            ...to: 
                Cast of:
                  Name: a

                to:
                  signed int 

                  Expression Statement:
            Cast of:
              Applying untyped: 
                  Name: f
              ...to: 
                  Name: a

            to:
              signed int 


p: tuple of types
    signed int 

p: tuple of types
    signed int 
    double 

p: tuple of types
    signed int 
    signed int 
    signed int 

p: tuple of types
    signed int 
    signed int 
    signed int 
    signed int 

q: tuple of types
    char 

q: tuple of types
    signed int 
    signed int 

q: tuple of types
    signed int 
    signed int 
    float 

q: tuple of types
    signed int 
    signed int 
    signed int 
    signed int 

r: function
    with parameters
      signed int 
      signed int 
      signed int 
      signed int 
    returning 
      signed int 
      signed int 

s: function
      accepting unspecified arguments
    returning 
      void 
    with body 
      CompoundStmt
                  Expression Statement:
            Applying untyped: 
                Name: r
            ...to: 
                Name: p
                Name: q

                  Expression Statement:
            Applying untyped: 
                Name: r
            ...to: 
                Tuple:
                                      Name: q

                                      Name: p


                  Expression Statement:
            Applying untyped: 
                Name: r
            ...to: 
                Applying untyped: 
                    Name: r
                ...to: 
                    Name: p
                    Name: q
                Applying untyped: 
                    Name: r
                ...to: 
                    Name: q
                    Name: q


