Unnecessarily verbose declarations and initializations make it harder to read the code, and should be simplified.


Specifically the following should be omitted when they can be inferred:

* array element type 
* array size
* ``++new DelegateType++`` 
* ``++new Nullable<Type>++``
* object or collection initializers ({})
* type of lambda expression parameters
* parameter declarations of anonymous methods when the parameters are not used.
