?=?: function with parameters pointer to signed int signed int returning signed int ?=?: 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) a: function accepting unspecified arguments returning nothing with body CompoundStmt Declaration of 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 instance of type T (not function type) returning nothing Declaration of g: function with parameters p: pointer to 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 instance of type U (not function type) returning nothing returning nothing Expression Statement: Applying untyped: Name: g ...to: Name: f g: function accepting unspecified arguments returning nothing with body CompoundStmt Declaration of h: function with parameters null: pointer to signed int returning nothing Declaration of id: 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 instance of type T (not function type) returning instance of type T (not function type) Declaration of 0: forall T: incomplete type pointer to instance of type T (not function type) Declaration of 0: signed int Expression Statement: Applying untyped: Name: h ...to: Applying untyped: Name: id ...to: Applying untyped: Name: id ...to: Applying untyped: Name: id ...to: Name: 0