f: 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 function
          with parameters
            instance of type T (not function type) 
            pointer to instance of type T (not function type) 
          returning 
            nothing 

    returning 
      nothing 

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


    function
    with parameters
      pointer to instance of type U (not function type) 
      instance of type U (not function type) 
    returning 
      nothing 

test: function
      accepting unspecified arguments
    returning 
      nothing 
    with body 
      CompoundStmt
                  Expression Statement:
            Applying untyped: 
                Name: f
            ...to: 
                Name: g


