title: Design by contract/C# 4.0/avoiding ArgumentNullException
body: <p>I'm terribly tired of checking all my arguments for null, and throwing ArgumenutNullExceptions when they are.</p>
  
  <p>As I understand it, C# 4.0 enables some design by contract constructs. Will it be possible to specify that a method will not accept null arguments in C# 4.0?</p>
  
  <p>Also, is there anything I can do in the meantime (maybe an attribute?) to avoid this monotonous task of checking for null and throwing?</p>