does not take in proper account __extension__ unary operator.
This means that everywhere this methods are called the behaviour would
change if an __extension__ keyword was present.
I think this is a mistake: __extension__ is no different from parens.
What do you think about?