Detects unneeded parenthesis inside type expressions and suggests to remove them...
Style checks suggest replacing some form of expression/statement with another one that is considered more idiomatic or simple...
Diagnostics try to find programming errors in the code. They also detect code that may be correct, but looks suspicious.