type_exp : exp | type typename
A type_exp exists where an expression might actually be a call to a template, in a function call (which also acts as a template call), or to allow the sizeof expression to operate on types as well.