?=?: function with parameters pointer to signed int signed int returning signed int ?*?: function with parameters signed int signed int returning signed int square: forall T: type with assertions ?=?: 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) instance of type T (not function type) returning instance of type T (not function type) function with parameters t: instance of type T (not function type) returning instance of type T (not function type) with body CompoundStmt Return Statement, returning: Applying untyped: Name: ?*? ...to: Name: t Name: t quad: forall U: type with assertions ?=?: 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) square: function with parameters instance of type U (not function type) returning instance of type U (not function type) function with parameters u: instance of type U (not function type) returning instance of type U (not function type) with body CompoundStmt Return Statement, returning: Applying untyped: Name: square ...to: Applying untyped: Name: square ...to: Name: u f: function accepting unspecified arguments returning void with body CompoundStmt Expression Statement: Applying untyped: Name: quad ...to: constant expression 7 signed int